flink1.12.x sink

说明

把处理后的数据输出到外部系统中,如:打印到控制台、写入到文件中、保存到 ES、Hbase

内置

  • print() 直接输出到控制台
  • printToErr() 直接输出到控制台,显示红色
  • writeAsText()

writeAsText

写到文件中,支持 本地文件、HDFS 文件

注意: 该方法已经废弃

声明一

public DataStreamSink<T> writeAsText(String path)

形参:

  • path:文件夹路径,不能存在

声明二

public DataStreamSink<T> writeAsText(String path, WriteMode writeMode)

形参:

  • path:文件夹路径,不能存在
  • WriteMode:写入模式,枚举类,可设置不覆盖、覆盖

例子

public static void main(String[] args) throws Exception {
    StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

    DataStream<String> ds = env.fromElements("hadoop","yarn","flink");

    ds.print();
    ds.print("TestSink:");
    ds.printToErr();
    ds.printToErr("TestSink:");
    //设置并行度为1,path为文件路径,会生成一个文件
    ds.writeAsText("result.txt").setParallelism(1);
    //设置并行度是2(大于1),path为目录,该目录下生成2个文件
    ds.writeAsText("result").setParallelism(2);
    env.execute();
}

原文出处:/show_1IX1zhe2IMnA.html