[英]Big input data for Spark job
我在文件夾輸入下有1800 * .gz文件。 每個* .gz文件約為300 M,解壓縮后,每個文件約為3G。 因此,解壓縮后總計為5400G。
我無法使用具有5400G執行程序內存的群集。 是否可以讀取輸入文件夾下的所有文件,如下所示?
JavaRDD行= ctx.textFile(“ input”);
那我需要多少個執行者內存呢? 當數據不能全部放入內存時,Spark如何處理情況?
謝謝!
創建指向文本文件目錄的RDD對象本身不會將任何數據集加載到內存中。 僅當您告訴Spark處理數據時,才將數據加載到內存中,並且在許多(大多數情況下)情況下,仍然不需要將完整的數據集同時存儲在內存中。 5.4TB數據集所需的內存量實際上取決於您將如何處理它。
就是說,有一些關於如何在加載RDD時保持其持久性的選項。 默認情況下,Spark僅將數據保留在內存中,但是當沒有可用內存時,還有一些配置會溢出到磁盤。 Spark編程指南中對此有很好的記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.