2017-07-19 519 views
0

我正在执行Spark Streaming应用程序,我想将某些结果转储到不以RDD格式的HDFS,它们是简单的字符串。那么我怎样才能将这些数据转储到HDFS,并且如果我们可以将这些数据附加到文件中,这种方式将非常有用。如何从Spark Streaming脚本写入HDFS

回答

1

你总是可以从字符串数组创建RDD: val newRDD = sc.parallelize(/* here your list or array */)

对于输出写入到文件,你可以使用saveAsTextFiles()方法。 foreachRDD + saveAsParquet(path, overwrite = true) - 使用此功能,您可以将每个rdd写入单个文件。

+0

感谢您的建议,我想知道是否有办法将其转换为RDD。并且可以使用上面的saveAsParquet方法追加到同一个文件,以便不会覆盖。 – JSR29

+0

流表示为一系列RDD - 因此您需要使用rdd。 要附加数据,您可以使用:val data = sc.textFile(“/ path/to/my/file”) 比向数据添加新值并保存为新文件 –