Flink网课随记

84 阅读1分钟
算子链
执行图
任务和任务槽
任务共享slot
slot和并行度
读取数据源:package com.atguigu.chapter05
Flink 支持的数据类型

flink随着实时数仓而提出的。特定流处理,快。在批处理中,不会有数据的顺序问题,而在流处理中,会有数据顺序问题。flink能保证结果的准确性和良好的容错性。【如果出错的话,可以恢复到以前的状态】 image.png

2.png

3.png

4.png

5.png

6.png

image.png

image.png

  • 优点:快、实时
  • 缺点:数据量小 | 不支持NoSQL数据库,比如Redis【k-v内存级数据库】、Hbase列存储、ES文档型存储等

image.png 存储层没有单独分开,存储层就在本地【内存/状态】里面。用本地内存里面的状态取代了关系型数据库--->容错性:定期对本地状态进行存盘保存,即checkpoint

image.png

image.png

image.png

image.png


image.png

  • Spark:基于内存、批处理,把数据切成足够小的批它就变成流了,流是一个特殊的批
  • flink只有流,一切都是流,批 => 有界的数据流。
  • 有界:数据一个一个来,但是知道数据结束的时候。有头有尾
  • 无界:数据不停的来,没有结束的时间有头没尾

image.png


image.png

image.png

flink的WebUI:8081

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

读取数据源

1. 从文件中读取数据
2. 从集合中读取数据
3. 从元素读取数据
4. 从Socket文本流读取
5. 从 Kafka 读取数据

★ 自定义的数据源,实现 SourceFunction 接口。主要重写两个关键方法:run()和 cancel()