Flink第一课
今天开始第一篇官方文档翻译吧!
Flink Concepts
https://ci.apache.org/projects/flink/flink-docs-release-1.7/concepts/programming-model.html
-
目录:
- 1 抽象概念
- 2 编程与数据流
- 3 并行数据流
- 4 窗口
- 5 时间
- 6 稳定的运行
- 7 容错的checkpoints
- 8 批计算
1 抽象概念
Flink 提供了不同级别的语言用于 流计算和批计算的应用。
:不同级别的语言:
最低级抽象语言只提供有状态的流。 它通过Process Function嵌入到DataStream API中。 它允许用户自由处理来自一个或多个流的事件,并使用一致的容错状态。 此外,用户可以注册事件时间,用来响应时间回调,允许用程序实现复杂的计算。
实际上,大多数应用程序不需要使用上述低级抽象语言,而是使用Core API编程,如DataStream API(有界/无界流)和DataSet API(有界数据集)。 这些fluent风格的API提供了用于数据处理的常用的构建块,例如各种形式的用户指定的转换,连接,聚合,窗口,状态等。在这些API中,处理的数据类型在相应的编程语言中表示为类。
低级抽象的Process Function与DataStream API集成,使得对某些操作进行低级抽象成为可能。 DataSet API在有界数据集上提供了额外的原函数,如循环/迭代。
Table API是以表为中心的声明性DSL,可以是动态更改的表(表示流时)。 Table API遵循(扩展)关系模型:表依附于元数据(类似于关系数据库中的表),API提供了恰当的的操作,例如select,project,