将JavaPairRdd写入Csv

时间:2018-07-09 13:36:32

标签: java apache-spark rdd key-value java-pair-rdd

JavaPairRdd具有GetUserAvailabilityResults results = service.GetUserAvailability(attendees, tw, AvailabilityData.FreeBusyAndSuggestions); 函数,您可以使用该函数以文本格式保存数据。

但是,我需要将数据另存为CSV文件,因此以后可以在Neo4j中使用它。

我的问题是:

如何以CSV格式保存JavaPairRdd的数据?还是有一种方法可以将rdd转换为:

saveAsTextfile

收件人:

Key   Value
Jack  [a,b,c]

1 个答案:

答案 0 :(得分:1)

您应该在JavaPairRdd上使用flatMapValues函数:Pass each value in the key-value pair RDD through a flatMap function without changing the keys; this also retains the original RDD's partitioning.

只需返回值,它就会在输入列表中为每个元素创建一行并保留键。

  // In Java
  JavaPairRDD<Object, List<String>> input = ...;
  JavaPairRDD<Object, String> output = input.flatMapValues((Function<List<String>, Iterable<String>>) Functions.identity());