- Blink做到了真正的流批统一,即将批看做是特殊的流,把处理批的API和处理流的API做成了一样的。也就是说不管是批数据还是流数据,底层统统都是DataStream。所以使用Blink作为table planner的程序,Table和DataSet是不能相互转换的。
- 由于第一条原因的关系,Blink planner是不支持BatchTableSource的,它只支持StreamTableSource。
- Blink Planner和Old Planner的FilterableTableSource是不兼容的。Old Planner会下推
PlannerExpression
到FilterableTableSource。而Blink planner下推的是Expression
。 - 基于String的键值对配置项只能用于Blink Planner
- 两种planner的PlannerConfig是不同的。
- Blink Planner会优化多个sink到同一个TableEnvironment和StreamTableEnvironment。而Old Planner会为不同的sink优化到自己的DAG中,也就是说有几个sink就有几个DAG。
- Old Planner 不支持 catalog统计,Blink支持。
- Old Planner 不支持版本表(versioned Table)。版本表类似HBASE中版本表的意思,每个key可以记住过去的几个值。
以上翻译自Flink1.12官网,仅供参考。