0
通過Scala spark-shell,我可以使用elasticsearch-hadoop-5.5.0連接器訪問Elasticsearch數據庫。如何通過Scala spark-shell將大型RDD寫入本地磁盤?
我在火花殼通過以下命令生成我RDD:
val myRdd = sc.esRDD("myIndex/type", myESQuery)
myRDD包含210萬條記錄在15個分區。我一直在試圖將所有數據寫入本地磁盤上的文本文件,但是當我嘗試運行將RDD轉換爲數組的操作時,例如myRdd.collect(),我重載了我的java堆。
是否有一種方法可以逐步導出數據(例如,每次處理100k條記錄),以便我永遠不會超載系統內存?
在這種情況下,我將如何使用toLocalIterator? –
@ M.T。 'rdd.toLocalIterator.foreach(line =>用行來做)'' – puhlen