Flink DataStream API - Sink 结果输出

本文详细介绍了如何使用Apache Flink的DataStream API进行数据输出操作,包括打印至控制台、文本文件、CSV文件、socket,以及通过连接器发送至Kafka。每种输出方式都提供了具体的代码示例,帮助读者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打印至控制台

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream<String> text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至控制台
text.print().setParallelism(1);

打印至文本文件

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream<String> text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至文本文件
text.writeAsText(String path).setParallelism(1);

打印至csv文件

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream<String> text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至控制台
text.writeAsCsv(String path).setParallelism(1);

打印至scoket

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream<String> text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至控制台
text.writeToSocket(hostName, port, schema).setParallelism(1);

通过连接器打印到Kafka

// 获取运行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

// 获取数据源
DataStream<String> text = env.socketTextStream("IP", port, "\n");

...省略中间算子处理...

// 使用一个并行度将结果打印至控制台
String kafkaTopic = params.get("kafka-topic");
String brokers = params.get("brokers", "localhost:9092");
text.addSink(new FlinkKafkaProducer010(brokers, kafkaTopic, (SerializationSchema) new EventDeSerializer())).setParallelism(1);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值