算子链
执行图
任务和任务槽
任务共享slot
slot和并行度
读取数据源:package com.atguigu.chapter05
Flink 支持的数据类型
flink随着实时数仓而提出的。特定流处理,快。在批处理中,不会有数据的顺序问题,而在流处理中,会有数据顺序问题。flink能保证结果的准确性和良好的容错性。【如果出错的话,可以恢复到以前的状态】
- 优点:快、实时
- 缺点:数据量小 | 不支持NoSQL数据库,比如Redis【k-v内存级数据库】、Hbase列存储、ES文档型存储等
存储层没有单独分开,存储层就在本地【内存/状态】里面。用本地内存里面的状态取代了关系型数据库--->容错性:定期对本地状态进行存盘保存,即checkpoint
- Spark:基于内存、批处理,把数据切成足够小的批它就变成流了,流是一个特殊的批
- flink只有流,一切都是流,批 => 有界的数据流。
- 有界:数据一个一个来,但是知道数据结束的时候。
有头有尾 - 无界:数据不停的来,
没有结束的时间,有头没尾
flink的WebUI:8081
读取数据源
1. 从文件中读取数据
2. 从集合中读取数据
3. 从元素读取数据
4. 从Socket文本流读取
5. 从 Kafka 读取数据
★ 自定义的数据源,实现 SourceFunction 接口。主要重写两个关键方法:run()和 cancel()