幾乎所有的flink應用程式(批處理和流式處理)都依賴於外部配置引數。它們用於指定輸入和輸出源(如路徑或位址),系統引數(並行度,執行時配置)和特定於應用程式的引數(通常在使用者功能內使用)。
flink提供了乙個簡單的實用程式,稱為parametertool提供解決這些問題的一些基本工具。請注意,使用parametertool不是必須的。其他框架(例如commons cli和 argparse4j)也可以與flink一起使用。
將配置值放入parametertool
所述parametertool用於讀取所述配置提供一組預定義的靜態方法。該工具在內部期望使用map,因此將其與自己的配置樣式整合起來非常容易。
從配置檔案中載入引數:
//url
string propertiesfilepath =
"/home/sam/flink/myjob.properties"
;parametertool parameter = parametertool.
frompropertiesfile
(propertiesfilepath)
;//file
file propertiesfile =
newfile
(propertiesfilepath)
;parametertool parameter = parametertool.
frompropertiesfile
(propertiesfile)
;//fileinputstream
inputstream propertiesfileinputstream =
newfileinputstream
(file)
;parametertool parameter = parametertool.
frompropertiesfile
(propertiesfileinputstream)
;
從命令列載入引數
這樣可以–input hdfs:///mydata --elements 42從命令列獲取引數。
public
static
void
main
(string[
] args)
注意:從flink 0.10開始適用
apache flink使用slf4j作為**中的日誌記錄抽象。建議使用者在其使用者功能中也使用sfl4j。
sfl4j是乙個編譯時日誌記錄介面,可以在執行時使用不同的日誌記錄實現,例如log4j或logback。
要在**中獲取記錄器例項,請使用以下**:
import org.slf4j.logger;
import org.slf4j.logge***ctory;
public
class
myclass
implements
mapfunction
{private
static
final logger log = logge***ctory.
getlogger
(myclass.
class
);
最佳實踐 Flutter 最佳實踐
最佳實踐是乙個領域可以接受的專業標準,對於任何程式語言來說,提高 質量 可讀性 可維護性和健壯性都非常重要。讓我們探索一些設計和開發flutter應用程式的最佳實踐。class enum typedef和extension應採用駝峰命名uppercamelcase規則。class mainscree...
Flink 實踐 側輸出
什麼是側輸出 在flink處理資料流時,我們經常會遇到這樣的情況 在處理乙個資料來源時,往往需要將該源中的不同型別的資料做分割處理,如果使用filter運算元對資料來源進行篩選分割的話,勢必會造成資料流的多次複製,造成不必要的效能浪費 flink中的側輸出就是將資料流進行分割,而不對流進行複製的一種...
JUnit最佳實踐
junit最佳實踐 cherami 轉貼 參與分 20053,專家分 4960 發表 2003 9 16 下午7 57 版本 1.0 閱讀 3899次 martin fowler說過 當你試圖列印輸出一些資訊或除錯乙個表示式時,寫一些測試 來替代那些傳統的方法。一開始,你會發現你總是要建立一些新的f...