赞
踩
Flink中的执行图可以分成四层: Streamgraph -> Jobgraph -> Executiongraph -> 物理执行图
作为对状态支持比较好的系统,Flink内部提供了可以使用的很多种可选的状态原语。从大的角度看.所有状态可以分为KeyedState和OperatorState 两类。
Keyed State 可以进一步划分为下面的 5 类,它们分别是
。比较常用的: ValueState、ListState、MapState
。不太常用的: ReducingState 和 AggregationState
可以是内存,文件系统,或者 RocksDB。
如果是海量数据的话,Set结构是不现实的,可以考虑使用布隆过滤器来去重。
使用大容量的 Kafka 把数据先放到消息队列里面作为数据源,再使用Flink 进行消费,不过这样会影响到一点实时性。
Flink可以完全独立于Hadoop,在不依赖Hadoop组件下运行。但是做为大数据的基础设施,Hadoop体系是任何大数据框架都绕不过去的。Flink可以集成众多Hadooop 组件,例如Yarn、Hbase、HDFS等等。例如。Flink可以和Yarn集成做资源调度,也可以读写HDFS,或者利用HDFS做检查点。
为了更高效地分布式执行,Flink会尽可能地将operator的subtask链接 chain) 在一起形成task。每个task在一个线程中执行。将operatorst技成ask是非带有效的优化:它能减少线程之同的切授,减少消息的序列化/反成列化,减少少了是迟的同时提高整体的吞吐量。这就是我们所说的算子链。其实就是尽量把操作逻辑放入到同一个subtask里就是一个槽taskSlot
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。