Danner Blog

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

Flink 之 MailBox

在Flip-27 提出了类似于基于MailBox 单线程的执行模型,取代现有的多线程模型(1.10之前的版本)。所有的并发操作都通过队列(mailbox)进行排队,单线程依次处理,这样避免了并发操作。 StreamTask 是上面提及的单线程执行体。线程中会调用 MailboxProcessor 一直处理 mail(其他要执行task、event)。 // org.apache.flin...

Flink CheckPoint 之元数据管理

每次Checkpoint 完成后,会生成 _metadata文件,记录Checkpoint元数据信息。 文件对应到代码是 CheckpointMetadata 类。 // org.apache.flink.runtime.checkpoint.metadata.CheckpointMetadata /** The metadata of a snapshot (checkpoint or...

Flink CheckPoint 流程解析

CheckPoint 准备 // org.apache.flink.runtime.checkpoint.CheckpointCoordinator private ScheduledFuture<?> scheduleTriggerWithDelay(long initDelay) { // 周期性触发 return timer.scheduleAtFixedRate...

大数据架构设计

业务数据化:将业务的数据落到大数据,数据就代表了某个业务 数据服务化:数据进行数仓建设后,需要以服务的方式提供数据 服务业务化:将数据深层包装后做成一个业务:BI,自助取数…(界面化) 架构的问题在于耦合,耦合的解决方案是拆分,如何拆分: 业务领域垂直拆分 请求生命周期水平拆分

flink 任务资源优化

内存 cpu 参考资料 有赞 Flink 实时任务资源优化探索与实践 如何提高 CPU 利用率?Flink 该如何设定并行度?调大并行度一定会提高 Flink 吞吐吗? Flink 中的木桶效应:单个 subtask 卡死导致整个任务卡死 Flink 单并行度内使用多线程来提高任务的整体性能 Flink 使用大状态时的一点优化 Flink定位SubTask在哪台机器哪个进程执行

ClickHouse 初体验

现在有查明细和聚合需求,对比现有的 OLAP 引擎,我们选择 ClickHouse 来做。 ClickHouse 有很多的引擎,生产一般直接上 MergeTree,这种引擎支持主键索引、数据分区、数据副本、数据采样也支持 Alter 操作。我们选择的是 ReplicatedReplacingMergeTree,表示支持副本并可以删除重复数据。 安装 检查是否支持 SSE 4.2,否则 ...

Flink child-first类加载

Flink 1.11 Java 的类加载机制是父类委派模型:如果一个类加载器要加载一个类,它首先不会自己尝试加载这个类,而是把加载的请求委托给父加载器完成,所有的类加载请求最终都应该传递给最顶层的启动类加载器。只有当父加载器无法加载到这个类时,子加载器才会尝试自己加载。 在 Flink 的上下文中,Flink 集群运行着 Flink 的框架代码,这些代码包括 Flink 的各种依赖。当用...

Flink 之 TimeWindow 原理

Flink1.12 介绍 // Keyed Windows stream .keyBy(...) <- keyed versus non-keyed windows .window(...) <- required: "assigner" [.trigger(...)] ...

ffa 2020

视频地址:https://developer.aliyun.com/topic/ffa2020/live#live pdf地址:https://developer.aliyun.com/article/780107?spm=a2c6h.12873581.0.dArticle780107.57232634r5B3mH&groupCode=sc 12.13 上午 Flink 统一引...

Flink 定时器

Flink1.12 定时器在 Flink 中是很常用的功能,在很多地方都会用到:Window、Interval Join、状态清理 …。下面以 Window 案例来分析定时器机制。Window 中的定时器服务的实现是 InternalTimerServiceImpl。在一个算子中可以有多个 InternalTimerService,由 InternalTimeServiceManagerI...