1. 程式人生 > >大資料Spark “蘑菇雲”行動補充內容第70課: Spark SQL程式碼實戰和效能調優 4個spark sql調優技巧有用!!!!

大資料Spark “蘑菇雲”行動補充內容第70課: Spark SQL程式碼實戰和效能調優 4個spark sql調優技巧有用!!!!

大資料Spark “蘑菇雲”行動補充內容第70課: Spark SQL程式碼實戰和效能調優

dataframe:

Row是沒有型別的,因為Row中的所有成員都被看著Object型別!!!untyped;編譯器識別不了型別 dataSet:型別不對,編譯器立即報錯的 強烈的建議:Spark處理的資料格式儘量是Json、Parquet、AVRO 重要技巧:

先讀如文字log,txt,將普通文字儲存為Parquet,再讀入parquet,效率提高很多。體積更小,效率更高。

registerTable與registerTmptable的區別:
registerTmptable只是一個引用 ,一個檢視 registerTmptable生命週期和spark sql context一致,spark sql結束了 ,registerTmptable也結束了

spark sql調優 :

1、spark.sql.shuffle.partitions=200  這個有用。 2、預設partition是128M,可以調大一點  spark.sql.files.maxPartitionBytes=128M 調成256M 3、很多小檔案浪費task,合併成一個task中,提高處理效能,將值調大。 spark.sql.files.openCostInBytes=4M

4、兩個表shuffle,如join。這個最有用,經常使用的。

spark.sql.autoBroadcastJoinThreshold 預設是10M,調成100M,甚至是1G。