代码之家  ›  专栏  ›  技术社区  ›  skrshn

Apache Flink writeAsCsv没有内容。

  •  0
  • skrshn  · 技术社区  · 6 年前

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

    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,当我这样做时,两个元组值是可见的。任何帮助都将不胜感激。

    提前谢谢:)。

    0 回复  |  直到 6 年前
        1
  •  0
  •   Ken Y-N    5 年前

    你可以试试

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