Flink快速了解(7)——Async I/O

上篇介绍了常见的算子,本文介绍另外一个重要的算子:Async I/O,即异步IO。它是流中频繁访问外部数据的利器,特别是当访问比较耗时的时候。产生背景先考虑一个实际中挺常见的场景:一个流处理程序中对于每个事件都要查一次外部的维表(比如HBase,这里暂不考虑缓存机制)做关联,那在Flink中如何实现呢?典型的做法就是增加一个map/flatmap,在里面做一下查询关联。这样功能没问题,但这个...

Flink快速了解(6)——常用算子(Operator)

Flink的Stream Job就是由一些算子构成的(Source和Sink实质也是特殊的算子而已),本文介绍常见的DataStream算子(Operator)。我用一种不太科学的方式将这些算子分成了2类,并起了一个不太严谨的名字:单流算子:这类算子一般在一个流上面使用;多流算子:这类算子往往操作多个流。单流算子单流算子大都比较简单,粗略介绍。map/flatmap:使用最多的算子,map是...

Flink快速了解(5)——Job&&Task&&Subtask&&SlotSharing

本文讲一些比较八股的概念性东西,不是特别实用,但对于理解任务的运行非常有帮助。先做个自我检测:你知道Flink的Job指什么吗?Task呢?Subtask呢?这些和JVM Thread的对应关系是什么?你能估计出你的应用跑起来以后大概会产生多少个Thread吗?你知道你的应用需要多少个Slot吗?OK,如果你都清楚了,那Ctrl/Command+w吧...。如果还有些疑问,可以继续往下看。注...

Flink Native Kubernetes支持Volume Mount

在之前的文章 Flink快速了解(4)——NativeKubernetes&HA 中讲到 Native Kubernetes在Flink 1.12版本中已经成为一个正式特性,使用起来也的确非常的简单、方便,但文末提到我碰到的一个问题:无法挂载volume。其实目前Flink Native Kubernetes这种方式提供的容器自定义能力还非常有限。从代码看,是通过一个个配置去支持的(见Kub...

Flink快速了解(4)——NativeKubernetes&HA

Flink的1.12.0版本前段时间发布了,又带来了很多新特性,其中有两个跟容器化相关的特性:Native Kubernetes部署方式由之前的实验性(experimental)变为正式特性,也就是我们可以在生产环境里面放心大胆的使用了;Kubernetes上面Flink的高可用除了ZooKeeper外又多了一种更轻量级的,更Native的基于ConfigMap的方案选择。当然,这些特性目前...

Flink快速了解(3)——4种Graph

本文介绍Flink任务流转过程中涉及的图,知道这些可以更好的了解Flink的运行流程。如上图,Flink中有4种图:StreamGraph、JobGraph、ExecutionGraph、PhysicalGraph,分别处于不同的阶段,承担不同的职责。StreamGraphStreamGraph其实就是把我们的代码逻辑以拓扑图的形式组织了一下,其实现类的描述如下:// StreamGraph...

Flink快速了解(2)——3种部署模式

截至1.12.0版本,Flink有3种集群部署/运行模式:Flink Session ClusterFlink Job ClusterFlink Application Cluster三种运行模式主要区别在3个方面:集群的生命周期集群的资源隔离main()方法在Client侧执行还是在集群侧执行下面分别介绍一下。Flink Session Cluster该模式就是先有一个已经在运行的Flin...

Flink快速了解(1)——架构

了解一个系统当然是先从整体的架构开始(难道不应该是quick start吗?):如上图,Flink这个分布式流批统一计算框架也是典型的主从架构,JobManager是主,TaskManager是从。JobManager其实是一个统称,其内部根据功能拆分成了3个大模块:ResourceManager:如其名,就是做资源管理的。Flink里面资源是以TaskManager提供的Slot形式存在的...
最近评论
小程Markdown写数学公式其实蛮坑的,不支持实时显示。当然也可能是我用的MarkdownPad...
小程倪师哥你好,我也是西电的,我最近也在弄个人主页,请问这个网站您自己发博客的时候是直接写html...
yy你后面一次明显心率高很多,特别是耐力部分,大概要150以上。感觉这个跟高心率的持续时间相关性特别大。
lilimon楼主用的是什么版本?github issue url在哪里?新版本会出现这样的问题吗?很多人应...
jie作者大大,您好。看了文章,我有一个问题。就是文中您说:“当然,很多时候自定义路由是为了减少查询...
徐小鹏其实对于TOB领域,一般Routing会用于一个租户(即公司ID)的概念,用了Routing起...
tina第二个代码块的第6行,引用是low-level的
白色风车beforeMethod的断点没有拦截住,但是UI的trace界面能看到请求了,应该启动成功了...
31(ó﹏ò。)a好棒
耳朵博主太棒了 ,是我Flink文档看的不仔细。麻烦博主了