擅长大数据技术开发,负责大数据存储平台3年,现做大数据应用
0x1 摘要 Hive离线数仓中为了查询分析方便,几乎所有表都会划分分区,最为常见的是按天分区,Flink通过以下配置把数据写入HDFS, BucketingSink<Object> sink = new BucketingSink<>(path); //通过这样的方式来实现数据跨天分区 sink.
0x1 摘要 BucketingSink类提供了非常完美的功能支持数据落HDFS,在实际业务中不建议自己去实现,直接采用此类可以避免一些坑。注:此文基于Flink 1.6.3 版本源码。 0x2 BucketingSink 类结构分析 我们关注RichSinkFunction、Checkpoint.
0x1 摘要 WindowOperator可以说是Flink窗口功能非常核心核心的类,是窗口功能源码的一条主线,延着这条主线去慢慢看源码会轻松很多。注:此文基于Flink 1.4.2 版本源码。 0x2 WindowOperator 类结构分析 先来看一下类结构图,可以使用idea来生成类图,下图.
0x1 摘要 本文主要讲解Flink里为什么需要做闭包清除?Flink是怎么实现闭包清除的? 0x2 Flink 为什么要做闭包清除 大家都知道Flink中算子都是通过序列化分发到各节点上,所以要确保算子对象是可以被序列化的,很多时候大家比较喜欢直接用匿名内部类实现算子,而匿名内部类就会带来闭包问题,当匿名内部类引用的外部对象没有实现序列化接口时,就会导致内部类无法被序列化,因此Flink框架底层必须做好清除工作。
0x1 摘要 平时开发中经常听到序列与反序列化,特别是在分布式系统与RPC应用中,今天突然心血来潮对几种常用的序列化框架做个性能测试对比,测试对象: Java 原生序列 Avro Thrift Protobuf 0x2 测试环境及工具 测试环境:系统类型:64 位操作系统CPU:Intel(R) Core(TM) i3-4130 CPU @ 3.