
Flink
文章平均质量分 73
先云
这个作者很懒,什么都没留下…
展开
-
水塘采样(Reservoir sampling)算法
最近看了Flink中的rangePartition使用了水塘采样算法,因此参考维基百科详细了解了一下。采样的关键在于对每个元素的选取需要是等概率的。水塘采样其目的在于从包含n个项目的集合S中选取k个样本,其中n为一很大或未知的数量,尤其适用于不能把所有n个项目都存放到主内存的情况。适用问题:1.可否在一未知大小的集合中,随机取出k个元素?2.在不知道文件总行数的情况下,如何从文件中随机的...原创 2018-12-22 01:11:32 · 1476 阅读 · 0 评论 -
将Flink中的批处理的WordCount转化为流处理的WordCount
将Flink中的批处理的WordCount转化为流处理的WordCount目的:将Flink中批处理的WordCount转化为流处理的WordCount作用:感觉毫无用处如何实现:将批的environmentBatch中的各个算子,在流的environmentStream中重写一遍代码如下:package org.apache.flink.examples.java.maqy;/...原创 2018-12-25 15:16:23 · 993 阅读 · 0 评论 -
Flink集群的启动
导读:记录一下Flink源码的阅读过程Flink版本:1.4.21.start-cluster.sh 集群启动的脚本,在脚本中通过运行jobmanager.sh和TMSlaves start来启动JobManager和TaskManager。其中TMSlaves定义在config.sh中。2.config.sh 这里只看一下TMSlaves()函数,可以看到其是通过调用ta...原创 2019-01-01 14:17:35 · 5016 阅读 · 0 评论 -
Flink中的RangePartition
Flink中的RangePartition导读: RangePartition是Flink批处理中的一个算子,用于数据分区。 在Flink批处理的优化器中,会专门针对RangePartition算子进行一次优化,主要是通过采样算法对数据进行估计,并修改原job生成的OptimizedPlan。本文通过一个示例,对这个过程进行相关介绍。示例如下:其主要功能是先进行RangePart...原创 2019-01-01 21:02:42 · 1325 阅读 · 0 评论 -
Flink读取HDFS中的数据源码分析
Flink版本:1.4.2 目的:本文主要是了解Flink中DataSource是如何从HDFS中读取数据的。梳理一下大致流程: 在JobManager处,通过提交得来的JobGraph生成ExecutionGraph时,会将JobGraph中的每个JobVertex都转换成ExecutionJobVertex(注意ExecutionJobVertex和ExecutionVertex...原创 2019-03-08 13:49:25 · 5644 阅读 · 1 评论