我正在讀23 gb多線json文件,並使用udf和寫作datframe壓扁它使用psypark拚花。
集群我用3節點核心(8)64 gb內存限製去高達8節點。
我能夠處理7 gb文件沒有問題,需要25分鍾左右。
雖然當閱讀23 gb文件做RPC分解和垃圾收集器的錯誤。
代碼:
df = spark.read。負載(文件格式= json,多行= True, utf - 8編碼= ').repartition (128)
df = parse_json (df) #這個函數趨於平緩的文件。寫在pyspark利用parallalism。
df = df.write。json (outfilepath模式=“覆蓋”)
閱讀文件需時約5分鍾。
2號線需要20秒(由於懶惰的評價)
寫作需要25分鍾和4次試驗失敗。
我找到它,即使我做的再分配,文件不是分成這些分區和負載在寫作是由單芯1日工作。
7 gb文件還,我發現1日工作而寫需要5 - 6分鍾來處理文件,然後第二工作平行寫文件到目標使用所有的分區。
我的假設是我的單核心隻有8 gb的內存,它甚至也不是能夠閱讀23 gb文件就放棄。
23 600 gb文件記錄每個代表有效的json對象。