Flink 学习笔记(三) DataSource
1. 基于集合
1 | fromCollection(Collection) // 从 Java Java.util.Collection 创建数据流 |
2. 基于文件
1 | readTextFile(path) // 读取文本文件,返回字符串 |
3. 基于 Socket
1 | socketTextStream(String hostname, int port) // 从 socket 读取,元素可以用分隔符切分。 |
Example:1
2
3
4
5
6DataStream<Tuple2<String, Integer>> sum = environment
.socketTextStream("localhost", 9000)
.flatMap(new Splitter())
.keyBy(0) // 根据第一个字段做聚合
.timeWindow(Time.seconds(5)) // 窗口大小
.sum(1); // 对第二个字段求和
4. 自定义
自定义 source,可以从 Kafka 等读取数据
大多数场景下都会用到自定义的情况
Flink Kafka Source
基本使用方式:
1 | Properties properties = new Properties(); |
Kafka 相关:
Topic:属于特定类别的消息流称为主题。可以理解为消息的标签🏷,订阅了该 topic 的消费者会接收到所有该类消息。
Producer:消息发送者。负责将消息发送到 Kafka 集群的某一个topic中。
Consumer:消息消费者。订阅topic,获取消息。
Broker:Kafka 集群中的每一台服务器。Kafka是一个分布式集群,其中每一台服务器都叫做Broker。
- 本文作者: Kelly Liu
- 本文链接: http://tiantianliu2018.github.io/2020/03/26/Flink-学习笔记-三-DataSource/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!