04stone37

日积月累

Flink --- State

State是什么  流计算过程中的中间状态,具体而言,Source的消费位点等元数据,Operator的中间计算结果。 为什么流计算需要State,而批处理不需要?  大多情况下,流计算可以看做是增量计算,即当前数据的处理是基于之前的计算结果进行的,因此需要保存中间的计算结果;批处理是一次性计算,...

2019-01-19 16:17:10

阅读数:1

评论数:0

Flink --- 技术栈

技术栈 部署方式 Local本地模式:Flink部署在单个JVM进程上,主要用于调试(个人测试Debug,或者通过平台对外提供调试服务);

2019-01-17 21:49:06

阅读数:8

评论数:0

JVM工具总结

jstack分析工具 fastthread:能够在线生成图形化的分析报告,链接:https://fastthread.io/index.jsp 比较粗糙的在线分析工具:https://spotify.github.io/threaddump-analyzer/ gc分析工具 gceasy:阿...

2019-01-17 21:10:50

阅读数:10

评论数:0

SHALLOW HEAP和RETAINED HEAP

概念 SHALLOW HEAP:对象自身占用的内存大小; Shallow heap of an object is its size in the memory. RETAINED HEAP:对象能够被回收的内存大小,包括了直接引用和间接引用占用的内存; Retained heap ...

2019-01-17 20:41:41

阅读数:10

评论数:0

Hadoop --- 数据倾斜问题

数据倾斜现象  数据倾斜实质上是指数据分布不均匀。在利用HQL、Spark或MR等方式进行数据计算时,大量的数据被分配到某台或某几台机器上,导致分布于这些机器上的任务执行速度远低于其他机器,甚至出现被kill的情况。 产生问题 个别任务卡住,执行速度很慢;Hadoop常见的现象是,一个作业的个别...

2019-01-17 09:55:46

阅读数:11

评论数:0

Hadoop --- 推测执行Speculative Execution

问题  MapReduce模型将一个作业分解为多个任务并行执行,以缩短执行时间。这种模型的特点是,整个作业的运行时间由最后完成的一个任务决定。如果少数任务运行缓慢,则会影响作业的整体进度。 推测执行  任务运行缓慢的原因有很多,很难检测到具体原因。Hadoop提供了一种优化措施,当检测到某个任务运...

2019-01-16 14:58:06

阅读数:6

评论数:0

Org.Apache.calcite.runtime.CalciteException: Failed to encode '全国' in character set 'ISO-8859-1’

CBO介绍  Hive从0.14.0开始引入CBO(Cost-Based Optimizer),对HQL查询语句进行性能优化,在Hive 1.1.0之后,默认开启。 现象  HQL语句中包含中文,执行HQL时报错: Org.Apache.calcite.runtime.CalciteExcepti...

2019-01-14 19:45:48

阅读数:28

评论数:0

Java正则使用注意

通配符’.’  默认情况下,’.‘不匹配换行符,需要指定Pattern.DOTALL,让’.'匹配包括换行在内的所有单个字符,如下示例: Pattern.LITERAL  Pattern.LITERAL:平白字符模式,所有元字符、转义字符都被看成普通的字符,如下示例: 大小写不敏感  Patt...

2019-01-11 10:30:35

阅读数:12

评论数:0

flink-forward-china-2018观后感

阿里对Flink的强力推动 收购Flink母公司Data Artisans; 开源内部版本Blink,作为Flink项目的一部分回归; 除了承办峰会外,阿里会投入大量进入打造中文社区; 蒋晓伟对下一代实时流计算引擎的看法  Spark和Flink二者都在努力发展成为批流一体的计算引擎,但是思路...

2019-01-08 22:06:36

阅读数:34

评论数:0

Antlr4 ---遍历模式

Listener模式   使用ParseTreeWalker遍历树的过程中(深度优先),每次进入和退出规则节点时,触发对应的enterRule/exitRule方法。 使用示例 //step1:创建ParseTreeWalker ParseTreeWalker walker = new Pars...

2019-01-07 19:53:00

阅读数:35

评论数:0

Antlr4 ---语法规则

设计原则  语法规则的设计遵循“自顶向下”的原则,即由宏观到具体。比如,CSV的语法规则,一个CSV文件由多行组成,每行由多个字段组成,每个字段组成规则等等,如下所示,这种方式更贴近人类的思维和表达方式。 csvFile: hdr row+ ; hdr : row ; row : field ('...

2019-01-07 15:43:46

阅读数:23

评论数:0

Mysql批量更新

Case1:更新同一字段为同一值 <update id="updateStatusByTableNameAndPartitions"> update migrate_data ...

2019-01-07 14:15:28

阅读数:14

评论数:0

FileSystem.get()方法解析

整体过程 根据URI获取scheme信息; 通过scheme判断是否使用缓存; 如果不用缓存,则直接创建FileSystem;否则从缓存中获取; FileSystem创建过程 首次使用时,通过ServiceLoader方法将FileSystem所有实现类加载到内存,并缓存所有的class对象...

2019-01-06 23:19:10

阅读数:25

评论数:0

hashCode() VS identityHashCode()

System.identityHashCode()  不管对象的hashCode()是否重写,总是返回对象物理地址的哈希值,即Object默认的hashCode()逻辑; /** * Returns the same hash code for the given object ...

2019-01-06 16:15:19

阅读数:22

评论数:0

commons.pool2 对象池的使用

maven依赖 <dependency> <groupId>org.apache.commons</groupId> <arti...

2019-01-06 15:20:32

阅读数:61

评论数:0

Fastjson注意事项

注意事项 注意1:"null"反序列化的结果为null 注意2:存在有参构造函数时没有提供无参构造函数,导致字段为null   具体见博客;

2019-01-04 22:39:53

阅读数:13

评论数:0

Antlr4 ---词法规则

规则存放位置  词法规则既可以和语法规则写在同一个文件{xxx}.g4,也可以单独放在词法规则文件{xxx}Lexer.g4; 匹配原则 最长匹配原则: 输入串将被最长匹配的词法规则匹配; 优先声明原则: 若输入串能同时被多个词法规则匹配,那么声明在词法文件最前面的规则生效; 解析内容  词法...

2019-01-02 16:53:10

阅读数:42

评论数:0

Antlr4 --- 规则文件概览

  规则文件既可以是词法文件{xxx}Lexer.g4和语法文件{xxx}Parser.g4两个规则文件分开写,也可以写在一个文件{xxx}.g4; 文件结构 语法声明 {xxx}.g4文件: grammar Name; {xxx}Lexer.g4文件:lexer grammar Name; ...

2019-01-02 16:02:26

阅读数:31

评论数:0

Antlr4 ---入门介绍

Antlr4是什么?   Antlr4是一款开源的语法分析器生成工具,能够根据语法规则文件生成对应的语法分析器。现在很多流行的应用和开源项目里都有使用,比如Hadoop、Hive以及Pig等都在使用ANTLR来做语法分析。 使用步骤 Step1:编写语法规则文件   按照Antlr4规范编写特定语...

2018-12-28 22:35:37

阅读数:29

评论数:0

非托管类获取Spring容器信息

非托管类: 不受Spring容器管理的类; 获取bean @Component public class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicatio...

2018-12-27 14:06:06

阅读数:21

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭