0
我正在執行Spark Streaming應用程序,我想將某些結果轉儲到不以RDD格式的HDFS,它們是簡單的字符串。那麼我怎樣才能將這些數據轉儲到HDFS,並且如果我們可以將這些數據附加到文件中,這種方式將非常有用。如何從Spark Streaming腳本寫入HDFS
我正在執行Spark Streaming應用程序,我想將某些結果轉儲到不以RDD格式的HDFS,它們是簡單的字符串。那麼我怎樣才能將這些數據轉儲到HDFS,並且如果我們可以將這些數據附加到文件中,這種方式將非常有用。如何從Spark Streaming腳本寫入HDFS
你總是可以從字符串數組創建RDD: val newRDD = sc.parallelize(/* here your list or array */)
對於輸出寫入到文件,你可以使用saveAsTextFiles()方法。 foreachRDD + saveAsParquet(path, overwrite = true)
- 使用此功能,您可以將每個rdd寫入單個文件。
感謝您的建議,我想知道是否有辦法將其轉換爲RDD。並且可以使用上面的saveAsParquet方法追加到同一個文件,以便不會覆蓋。 – JSR29
流表示爲一系列RDD - 因此您需要使用rdd。 要附加數據,您可以使用:val data = sc.textFile(「/ path/to/my/file」) 比向數據添加新值並保存爲新文件 –