spark程序運行緩慢
原因一:在map ,reducebykey ,transform 等算子裏進行耗時操作
耗時操作包括: 讀取配置文件,打印,讀取數據庫的數據 對象
boolean local =ConfigurationManager.getBoolean(Constants.SPARK_LOCAL);
總結:在spark的算子中,只能執行對數據的處理邏輯,其間不要加載其他配置文件(讀取配置文件),調用jvm的系統api(打印)等等
原因二:在算子中執行mysql 的select 操作 ,查詢的數據庫,沒有索引(key)
當表的數據爲100萬的時候,沒有索引的查詢大概需要1秒鐘,有索引的查詢只需要0.001秒, 1000倍! 所以需要查詢的表,一定要建立索引