从0到1Flink的成长之路(七)

本文档详细介绍了Apache Flink批处理中数据终端Sink的使用,包括ds.print、ds.printToErr、ds.collect和ds.writeAsText等API,以及如何设置并行度影响输出路径。通过代码实例展示了如何将数据输出到控制台、本地集合以及文本和CSV文件,并利用RichMapFunction进行数据转换。
摘要由CSDN通过智能技术生成

数据终端 Sink

API

1.ds.print 直接输出到控制台
2.ds.printToErr() 直接输出到控制台,用红色
3.ds.collect 将分布式数据收集为本地集合
4.ds.setParallelism(1).writeAsText("本地/HDFS的path",WriteMode.OVERWRITE)

注意

在输出到path的时候,可以在前面设置并行度,如果
并行度>1,则path为目录
并行度=1,则path为文件名

代码演示

package xx.xxxxx.flink.sink;
import org.apache.flink.api.common.functions.RichMapFunction;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.operators.DataSource;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.core.fs.FileSystem;
import java.util.List;
/**
* DataSet API 批处理中数据终端:基于文件Sink
* 1.ds.print 直接输出到控制台
* 2.ds.printToErr() 直接输出到控制台,用红色
* 3.ds.collect 将分布式数据收集为本地集合
* 4.ds.setParallelism(1).writeAsText("本地/HDFS的path",WriteMode.OVERWRITE)
*
* 注意: 在输出到path的时候,可以在前面设置并行度,如果
* 并行度>1,则path为目录
* 并行度=1,则path为文件名
*/
pu
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值