Danner Blog

Took the sourest lemon that life has to offer and turned it into something resembling lemonade.

iceberg 学习资料

Flink+Iceberg构建企业级实时数据湖 设计文档 https://github.com/apache/iceberg/blob/master/site/docs/spec.md Flink Iceberg sink design Proposal: Iceberg Merge-on-Read CDC https://github.com/apache/i...

Flink 源码之构建 ExecutionGraph

Flink 1.11 Flink 任务在运行之前会经历以下几个阶段: Program -> StreamGraph -> JobGraph -> ExecutionGraph -> 物理执行计划 JobGraph 生成 ExecutionGraph JobVertex DAG 提交任务以后(JobManager 生成),从 Source ...

Flink 源码之构建 JobGraph

Flink 1.11 Flink 任务在运行之前会经历以下几个阶段: Program -> StreamGraph -> JobGraph -> ExecutionGraph -> 物理执行计划 StreamGraph 之后会生成 JobGraph 从 Source 节点开始,然后去遍历寻找能够嵌到一起的 operator,如果能够嵌到一...

Flink rocksDB

Flink 状态后端有三种: Memory FileSystem RocksDB 大状态的作业下,RocksDB 是首选,它支持增量。当使用 RocksDB 作为状态后端时,常常会发现相同的错误导致 task 失败。具体报错信息如下: Flink Web-UI 上的报错信息 org.apache.flink.runtime.io.network.netty.excep...

Flink SQL 之 maxwell-json

Flink 1.11 之前已经提到 1.10 版本中 SQL 创建表的流程,1.11 相比来说有一些变化 connector: 1.10 每个属性都需要加 “connector” 字符串,这很冗余; 1.11 已不需要,但老的 with 写法也还兼容,根据是否包含 “connector.type” 属性来区分 table: ...

Flink 内存管理

Flink 1.11 资源调度 当前 Flink 所采用的是自顶向下的资源管理,我们所配置的是 Job 整体的资源,而 Flink 通过 Slot Sharing 机制控制 Slot 的数量和负载均衡,通过调整 Task Manager / Slot 的资源,以适应一个 Slot Sharing Group 的资源需求。Flink 的资源管理配置简单,易用性强,适合拓扑结构简单或规模较小...

Flink SQL 之 Create Table

基于 1.10 在 Flink SQL 中,我们可以很简单的定义 Source 和 Sink。如下所示 CREATE TABLE user_log ( user_id VARCHAR, item_id VARCHAR, category_id VARCHAR, behavior VARCHAR, ts TIMESTAMP ) WITH ( ...

Flink 源码之构建 StreamGraph

Flink 1.11 Flink 任务在运行之前会经历以下几个阶段: Program -> StreamGraph -> JobGraph -> ExecutionGraph -> 物理执行计划 在深入剖析 Flink Straming WC流程 中没有介绍StreamGraph,本文将详细剖析 StreamGraph 的生成过程。 St...

Flink 启动流程

Flink 1.10 前面几篇文章从各个组件的角度阐述了 Flink 任务的启动,本节将以 Flink On Yarn 的 Per Job 模式将所有知识点串起来。 以下从本地和集群两个角度来说明 本地 flink run 当执行上面的命令后,开始任务的提交: Flink 启动流程之 flink run 中最后是去执行任务的代码 深入剖析 Flink Stramin...

Flink 启动流程之 flink run

Flink 1.10 Flink run 将我们编译好的代码,提交到集群运行 Start-cluster 执行是启动 Standalone 集群, 任务在 Standalone 下运行 yarn-session 执行是在 Yarn 集群启动长服务,任务在 Flink session cluster 下运行 事先无执行任何脚本直接执行 flink run ,任务在 Flink...