2016-11-30 21 views
1

我在S3存儲桶中有一個數據幀,分爲8個csv文件,每個文件709.7MB。從S3將文件加載到pyspark中的EMR集羣的節點

我創建了一個包含8個節點(r3.4xlarge:16個vCPU,122個RAM和320個磁盤)的EMR集羣。

我的星火配置:

num-executors='23' 
executor-memory='34G' 
executor-cores='5' 

我寫這篇文章的Python腳本加載我的數據框:

df = sqlContext.read.load("s3://my-bucket/my-dataframe/*", 
           format='com.databricks.spark.csv', 
           header='true', 
           delimiter='\t', 
           inferSchema='true') 

問題: 當我看星火歷史Server中的階段,這是結果。

enter image description here

3個CSV文件不會被正確加載。 有人有解決方案來解決這個問題或一個原因的想法嗎?

回答

0

查看實際輸出,以防報告混淆。

順便提一句,inferSchema選項強制掃描整個CSV文件以計算出其架構,這裏將從700MB /文件讀取的數據量翻倍至1400MB。如果您使用的是長途數據,則您的賬單翻倍;如果當地的,那麼這還是浪費了很多時間。計算一次架構並在DF中聲明它。

相關問題