Apache Flink writeAsCsv没有内容。

时间:2018-12-12 10:02:21

标签: java apache-flink

我正在尝试将我的数据流作为两个Long值(外观时间戳记和系统时间戳记)的元组保存在csv中。我正在创建元组值的DataStream,如下所示。

DataStream<Tuple2<Long, Long>> csvStream  = messageStream.map(new MapFunction<GraphStreamItem, Tuple2<Long, Long>>() {
        @Override
        public Tuple2<Long, Long> map(GraphStreamItem graphStreamItem) throws Exception {
            return Tuple2.of(graphStreamItem.getAppTimestamp(), graphStreamItem.getSysTimestamp());
        }
    });

现在我正尝试将其另存为csv,如下所示:

csvStream.writeAsCsv("path/to/save.csv", FileSystem.WriteMode.OVERWRITE).setParallelism(1);

但是csv文件似乎总是空白。我尝试打印csvStream,当我这样做时两个元组值可见。任何帮助将不胜感激。

预先感谢:)。

1 个答案:

答案 0 :(得分:0)

您可以尝试

csvStream.setParallelism(1).writeAsCsv(
  "path/to/save.csv", FileSystem.WriteMode.OVERWRITE); 
env.execute()