一、Flink 数据源分类
内置数据源、文件数据源、网络数据源、Kafka 主流数据源、自定义数据源
二、内置数据源
1、集合数据源:本地测试推荐此类
java
List<String> dataList = Arrays.asList("java","flink","spark");
DataStreamSource<String> listStream = env.fromCollection(dataList);
2、元素直接创建数据源
java
DataStreamSource<String> elementStream = env.fromElements("张三","李四","王五");
3、Socket 网络数据源:实时流式测试常用
java
DataStreamSource<String> socketStream = env.socketTextStream("localhost", 8888);
三、文件数据源
1、读取本地单行文本文件
2、读取 HDFS 分布式文件
3、区分有界流(文件)、无界流(实时数据流)
四、Kafka 数据源(重点-企业核心)
Flink 对接 Kafka 消费实时数据,配置消费者组、主题、序列化方式,实现实时读取消息队列数据
五、数据源使用场景选择
本地测试:集合、元素、Socket 数据源
离线分析:本地文件、HDFS 文件
线上实时业务:统一使用 Kafka 数据源