我正在使用spark sql來讀取坐在S3中的ORC格式的2個不同數據集。但對於幾乎相似大小的數據集來說,閱讀中的性能差異非常大。同樣大小但不同行長度的Spark讀取性能差異
數據集1:包含2.12億記錄每個50列並且在S3存儲桶獸人格式總量可達15GB。
數據集2:包含29000000記錄每個150列並且在相同S3桶獸人格式總量可達15GB。
數據集1正在使用2分鐘使用spark sql進行讀取。並且在相同的基礎設施中採用相同的火花讀取/計數作業來讀取數據集2的12分鐘。
每行的長度可能會導致這種巨大的差異。任何人都可以幫助我理解閱讀這些數據集時巨大性能差異背後的原因嗎?
我正在使用亞馬遜EMR和他們的S3客戶端..任何我可以嘗試測試性能?注意:數據集1中的文件數量更多(數據集2中的文件數量爲300)。 –
我懷疑它比#of文件跳過的次數多,但您可以嘗試更多地分割文件。測試性能? ,也許從本地安裝Hadoop 2.8並使用「用戶提供的JARs」https://spark.apache.org/downloads.html進行啓動......將其粘貼到虛擬機中,然後將該搜索與第二個數據集。其他策略。將它全部下載到本地,並比較文件中的perf:// ..這可以是基準 –