Flink DataStream API 提供了丰富且强大的操作符(Operators)来处理无界数据流。下面我将这些常用的 API 分为几大类,并附上说明和代码示例。
1. 数据源(Data Sources)
这是程序的起点,用于从外部系统获取数据。
| API | 说明 | 代码示例 |
|---|---|---|
env.fromElements(...) |
从给定的对象序列创建数据流。 | DataStream<String> stream = env.fromElements("A", "B", "C"); |
env.fromCollection(...) |
从 Java 的 Collection 创建数据流。 |
DataStream<Integer> stream = env.fromCollection(Arrays.asList(1, 2, 3)); |
env.readTextFile(path) |
读取文本文件,按行读取。 | DataStream<String> stream = env.readTextFile("file:///path/to/file"); |
env.socketTextStream(...) |
从 Socket 连接读取数据。 | DataStream<String> stream = env.socketTextStream("localhost", 9999); |
env.addSource(new FlinkKafkaConsumer(...)) |
最常用。从 Apache Kafka 中消费数据。需要引入 Kafka 连接器依赖。 | Properties props = new Properties(); props.setProperty("bootstrap.servers", "localhost:9092"); DataStream<String> stream = env.addSource(new FlinkKafkaConsumer<>("topic", new SimpleStringSchema(), props)); |
env.addSource(new ...) |
自定义源函数。可以实现 SourceFunction 或 RichSourceFunction 来 |

最低0.47元/天 解锁文章
769

被折叠的 条评论
为什么被折叠?



