第1章 對執行在YARN上的Spark進行效能調優

2021-08-02 05:54:43 字數 602 閱讀 9578

在yarn上執行spark需要在spark-env.sh或環境變數中配置hadoop_conf_dir或yarn_conf_dir目錄指向hadoop的配置檔案。

spark-default.conf中配置spark.yarn.jars指向hdfs上的spark需要的jar包。如果不配置該引數,每次啟動spark程式將會將driver端的spark_home打包上傳分發到各個節點。配置如下例所示:

1.          spark.yarn.jarshdfs://clustername/spark/spark210/jars/*

對於分布式系統來說,由於資料可能也是分布式的,所以資料處理往往也是分布式的。要想保證效能,盡量保證資料本地性是很重要的。

分布式計算系統的精粹在於移動計算而非移動資料,但是在實際的計算過程中,總存在著移動資料的情況,除非是在集群的所有節點上都儲存資料的副本。移動資料,將資料從乙個節點移動到另乙個節點進行計算,不但消耗了網路io,也消耗了磁碟io,降低了整個計算的效率。為了提高資料的本地性,除了優化演算法(也就是修改spark記憶體,難度有點高),就是合理設定資料的副本。設定資料的副本,這需要通過配置引數並長期觀察執行狀態才能獲取的乙個經驗值。

spark中的資料本地性有以下幾種:

第14章 執行環境 1

14.1 可呼叫物件 python有4種可呼叫物件 函式 方法 類以及一些類的例項。記住這些物件的任何引用或者別名都是可呼叫的。14.1.1 函式 內建函式 bif 使用c c 寫的,編譯過後放入python直譯器,然後把它們作為第一 內建 命名空間的一部分載入進系統。這些函式在 builtin 模...

C 將程序執行在指定的CPU上

方法 setprocessaffinitymask handle,dword 其中,第乙個引數為程序控制代碼。如果要知道當前執行緒的控制代碼,可以通過函式 getcurrentthread 得到。否則,在建立多執行緒的時候,也同樣可以得到建立的執行緒的控制代碼。第二個引數為mask,可取值為0 2 ...

製作執行在越獄機器上的IPA包

製作可以執行在越獄機器上的軟體主要分為兩個關鍵的步驟 1.使code signing實效。右鍵單擊 xcode,選擇顯示包內容。拷貝 contents developer platforms iphoneos.platform developer sdks iphoneos5.1.sdk sdkse...