Flink 基础 - DataStream 编程#
流处理 API 衍变(对比 Storm)#
- Storm 的 API 抽象层次更低点,相当于是
面向操作的,通过代码直接自己自定义构造 DAG
- Flink 相当于是
面向数据的,通过 API, 也就是一系列算子对数据进行一系列转换计算,由 Flink 底层自己构建生成 DAG,所以相对来说抽象层次更高点
基本使用#
操作概览#

DataStream 基本转换#

物理分组方法#
只有进行分组后才能调用reduce/sum等算子进行统计计算
| 类型 | 描述 |
|---|---|
| keyBy() | 最常用的按 key 类型发送,key 的类型数量往往远大于算子并发实例数 |
| global() | 全部发往第一个 task |
| broadcast() | 广播,适用于数据量小的情况 |
| forward() | 上下游并发度一致时一对一发送 |
| shuffle() | 随机均匀分配 |
| rebalance() | Round-Robin (轮流分配) |
| rescale() | Local Round-Robin (本地轮流分配) |
| partitionCustomer() | 自定义单播 () |