自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(9)
  • 收藏
  • 关注

原创 flink sql 新增函数

修复flink 源码增加函数修改 flink-table-common项目org.apache.flink.table.functions.BuiltInFunctionDefinitions 类增加一个成员: public static final BuiltInFunctionDefinition NVL = new BuiltInFunctionDefinition.Builder() .name("NVL") .kind(SCALAR) .outputTypeStr

2021-02-22 09:20:19 1475

原创 RocksDB 状态清理源码分析

rocksdb 状态创建流程在算子初始化的时候,获取状态将调用,org.apache.flink.runtime.state.AbstractKeyedStateBackend.getOrCreateKeyedState public <N, S extends State, V> S getOrCreateKeyedState( final TypeSerializer<N> namespaceSerializer, StateDescriptor<S, V&

2021-02-22 09:18:58 787

原创 flink checkpoint元数据源码分析

OperatorStateOperatorState目前只有一种实现:DefaultOperatorStateBackend。无论哪种stateBackend,OperatorState都是保存在内存中的。org.apache.flink.runtime.state.DefaultOperatorStateBackend.getListState 代码: private <S> ListState<S> getListState( ListStateDescriptor

2020-11-12 10:04:01 636

原创 flink状态的深入研究

state存储的数据ValueState 会存储 key、namespace、value,缩写为 <K, N, V>。MapState 会存储 key、namespace、userKey、userValue,缩写为 <K, N, UK, UV>。下面解释这些名词keyValueState 和 MapState 都是 KeyedState,也就是 keyBy 后才能使用 ValueState 和 MapState。所以 State 中肯定要保存 key。group by

2020-11-12 10:02:25 1277 1

原创 flink 1.11 写入hive性能低下问题

hive streming sink 投入生产,发现写入性能底下,排查过后,发现是hive在每写入一条数据,都会判断文件大小来决定文件是否需要滚动,判断文件大小使用的hdfs的api,需要访问namenode,这就是写入性能底下的根源。截止到flink 1.11.2这个问题任然没有解决。这个问题解决,需要自己实现HiveBulkWriterFactory,代码如下:public class HiveBulkWriterFactory implements HadoopPathBasedBulkWrite

2020-10-26 17:07:07 1112 1

原创 flink 1.11新特性

sql部分不兼容的地方时间属性proctime/event_time类型必须定义为timestamp(3),否则会报错。  在1.11中,ts timestamp,相当于定义timestamp(6)。 而时间属性类型为timestamp(3)在1.9中,time attr在传递的时候回自动将类型转换为timestamp类型。在1.11中,这不会发生,传递的类型是LocalDateTime。如果需要,需要你自己定义类型绑定: /**    * T

2020-10-26 16:53:32 2523

原创 flink窗口和时间

概要基于flink 1.9.1版本和blink palner。窗口分类window (窗口)对流中所有事件聚合是不可能的,因为通常流是无效的。所以需要window来划定范围。window是一种可以把无限数据切割为有限数据块的手段根据类型,window有2种:基于时间驱动的 time window,比如最近30s内。基于数据驱动的 count window,比如最近100个元素。根据是否重叠,窗口分如下2种:tumbling windows。滚动窗口,窗口之间不重叠,比如统计5分钟内的

2020-07-09 17:30:40 887

原创 flink sql 指南

说明flink sql 相关知识整理。表声明语句flink 可以通过ddl语句声明一个表。表的声明在flink中分为2个部分:connector和format。connector复杂读写数据(对接外部存储系统),format 负责解析数据。通过如下方式可以声明一个表:create table tablename( field1 field_type) with ( 'ke...

2019-12-09 14:50:22 4903 6

原创 01-fink基础知识

介绍Apache Flink 是一个开源的分布式,高性能,高可用,准确的流处理框架。主要由 Java 代码实现。支持实时流(stream)处理和批(batch)处理,批数据只是流数据的一个极限特例。Flink原生支持了迭代计算、内存管理和程序优化wordcount入门idea 创建maven工程。maven依赖如下:<?xml version="1.0" encoding=...

2019-10-27 21:30:24 388

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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