1
我可以將一個惰性序列(例如interator)傳遞給SparkContext.parallelize
調用嗎?我想流式傳輸大量的項目,而不必將它們全部放在堆上。SparkContext.parallel一個懶惰的序列?
這可能嗎?
我可以將一個惰性序列(例如interator)傳遞給SparkContext.parallelize
調用嗎?我想流式傳輸大量的項目,而不必將它們全部放在堆上。SparkContext.parallel一個懶惰的序列?
這可能嗎?
不,數據需要分片併發送給工作人員。在切片過程中,它將被加載到驅動程序的內存中。 只有在平行化範圍的情況下才能避免,但我不認爲這是您的情況。
並行化方法接受一個Seq而不是一個迭代器...
謝謝!我試圖從數據庫流入大量記錄(是的,我知道HDFS輸入的不同)。它看起來像我需要通過一個扁平的文本文件來獲取數據。看起來很奇怪,沒有其他選擇。畢竟,從技術上講,可以懶惰地閱讀一個迭代器並隨時創建頁面。 – Joe
在這種情況下,您可以使用JdbcRDD直接從數據庫加載數據 – pzecevic
謝謝!你知道我是否可以從Java(或Clojure)使用它?我嘗試過這個例子,但沒有多少運氣。 – Joe