
Flink
不清不慎
热爱编程,热爱生活。
展开
-
Flink DataStream API指南【翻译】
1.什么是DataStream?DataStream是Flink中可以在数据流的基础上实现各种transformation操作的程序,(比如filtering,updating state,defining windows,aggregating)。这些数据流最初的来源可以有很多种,比如消息队列,socket流,文件等,计算的结果通过sinks途径返回,你也可以写这些数据到一个文件或者标准的输出...原创 2018-10-14 17:22:34 · 4212 阅读 · 0 评论 -
Flink启动报错could not be determined automatically
今天发布Flink应用,报如下错误:The return type of function 'main(RyeCollectorLauncher.java:77)' could not be determined automatically, due to type erasure. You can give type information hints by using the returns...原创 2019-07-29 20:02:02 · 11379 阅读 · 2 评论 -
Flink Savepoint简单介绍
一、什么是savepoint?savepoint是通过checkpoint机制为streaming job创建的一致性快照,比如数据源offset,状态等。需要我们手动去触发,因此,需要和checkpoint进行区分。checkpoint主要用于自动故障恢复,由Flink自动创建、拥有和发布,不需要用户去交互,当作业呗cancel的时候,checkpoint会被删除,除非设置了External...原创 2019-06-10 17:00:02 · 3237 阅读 · 0 评论 -
Flink State状态以及Checkpoint机制(一)
一、State状态在Flink中,它使用了State状态机制以及Checkpoint策略提供了强大的容错机制,不过我们需要注意区分它们,State状态是指一个Flink Job中的task中的每一个operator的状态,而Checkpoint是指在某个特定的时刻下,对整个job一个全局的快照,当我们遇到故障或者重启的时候可以从备份中进行恢复。在Flink中,State中主要分为Operato...原创 2019-05-29 11:04:56 · 11388 阅读 · 1 评论 -
Flink State状态以及Checkpoint机制(二)
在上篇文章中介绍了如何Flink的State状态,本篇文章接着上篇文章继续介绍Flink的Checkpoint机制。启动checkpoint机制它可以为每一个job备份了一份快照,当job遇到故障重启或者失败的时候,我们就不必从每个job的源头去重新计算,而是从最近的一个完整的checkpoint开始恢复,避免了重复计算,节省了资源,并且保证了Exactly Once 语义。具体的使用方法以及实现...原创 2019-05-30 16:15:17 · 2110 阅读 · 3 评论 -
Flink DataSet迭代运算
对于迭代运算,通常应用于一些数学计算,机器学习算法以及图计算等领域,在Flink中,对于批处理作业,也提供了相应的迭代运算,主要分为下面两大类:Bulk IterateDelta Iterate什么是迭代运算?所谓迭代运算,就是给定一个初值,用所给的算法公式计算初值得到一个中间结果,然后将中间结果作为输入参数进行反复计算,在满足一定条件的时候得到计算结果。Bulk Iterate这...原创 2019-05-18 14:43:53 · 2861 阅读 · 2 评论 -
Flink DataSet Transformations【翻译】
在前面的文章中介绍了一下DataStream的一些Operator的操作,这篇文章主要讲述DataSet的一些Transformations操作。它主要有以下操作:下面会逐一进行讲解MapMap操作为DataSet提供了一个用户自定义的map函数,它实现了一对一的映射,并且该函数只能返回一个元素(这里可以实现MapFunction接口或者RichMapFunction来定义用户自己的逻辑)...原创 2019-05-17 23:29:15 · 674 阅读 · 0 评论 -
Flink Window介绍
一、Window的分类什么是window?Flink是一个流处理计算框架,它底层基于流处理引擎,实现了批处理与流处理,在流处理中,为了处理无限的数据集,使用window将无限的数据流切分多个有限的数据块进行计算。我们按照具体的业务需求将window划分为KeyedWindow以及Non-KeyedWindow,如果是KeyedWindow那么它会有多个并行度来计算窗口中的数据,对于Keyed...原创 2019-05-27 11:10:46 · 2008 阅读 · 2 评论 -
Flink Operator之CoGroup、Join以及Connect
在Flink中由很多Operator,大致分为两类,DataStream和DataSet,即流处理数据和批处理数据,这an文章主要讲解CoGroup、Join和Connect的使用,之所以将它们放在一起是因为它们比较相似,但也有所不同,在DataStream和DataSet中都存在这三个Operator,下面我们将分别讲述。一、CoGroup该操作是将两个数据流/集合按照key进行group,...原创 2019-05-13 16:55:39 · 13426 阅读 · 0 评论 -
Flink Runtime详解
Flink运行时架构Flink集群的架构,也是典型的主从架构模型,启动Flink,它会启动JobManager以及TaskManager进程,这里以standalone模式来讲解其运行时的架构以及一些细节,集群模式后面的文章汇介绍到。JobManager是master主节点,它主要负责资源的分配、任务的调度以及集群的管理。TaskManager是从节点,如果单独运行在一台机器上则可以称作一个s...原创 2019-05-26 18:53:34 · 2054 阅读 · 0 评论 -
Flink数据类型、序列化与累加器Accumulator
本篇文章简单介绍一下Flink中的数据类型与累加器以及计数器的使用。一、数据类型在Flink的DataSet以及DataStream中对可使用的元素添加了一些约束条件,目的是为了能够有效的分析这些类型的执行策略以及选择不同的序列化方式。以下列举7种Flink种常用的数据类型:Java/Scala TupleJava POJO和Scala case class基本类型(Intege...原创 2019-05-21 23:35:07 · 1423 阅读 · 0 评论 -
Flink DataStream之Asynchronous I/O原理解析
文章大纲:Async IO的概述以及使用Async IO的原理一、Async IO概述1.什么是Async IO对于IO,我们都清楚有同步IO和异步IO,那么在Flink中,什么是Async IO,它是怎么样应用的呢?在有些流式应用的场合中,我们都会去与外部系统进行交互,比如连接数据库等。当我们需要向外部系统发送一个请求a的时候,我们需要等待它返回结果,这是同步的模式。考虑到吞吐...原创 2019-05-04 14:50:48 · 3167 阅读 · 3 评论 -
Flink DataStream之Time介绍
文章目录:Time的三种类型Event Time的timestamp和watermark预定义Timestamp Extractors / Watermark Emitters一、Time的三种类型Fink提供了三种Time的类型:Event TimeIngest TimeProcess Time1.Event TimeEvent Time是事件生成的时间,在进入...原创 2019-05-03 18:44:17 · 822 阅读 · 0 评论 -
Flink Kafka connector详解
在Flink中提供了特殊的Connectors从kafka中读写数据,它基于Kafka Consumer API以及Producer API封装了自己的一套API来连接kafka,即可读取kafka中的数据流,也可以对接数据流到kafka中,基于kafka的partition机制,实现了并行化数据切片。下面让我们来看看它的主要API以及使用。Flink kafka consumer使用kafk...原创 2019-07-20 22:29:17 · 4765 阅读 · 0 评论