Flink學習筆記——配置

在Flink任務中,需要加載外置配置參數到任務中,在Flink的開發文檔中介紹了,Flink提供了一個名爲 ParameterTool 的工具來解決這個問題

Flink開發文檔:

https://github.com/apache/flink/blob/master/docs/dev/application_parameters.zh.md

其引入配置的方式有3種:

1. From .properties files

String propertiesFilePath = "/home/sam/flink/myjob.properties";
ParameterTool parameter = ParameterTool.fromPropertiesFile(propertiesFilePath);

2. From the command line arguments

在args中添加 

--input hdfs:///mydata --elements 42

在代碼中使用

public static void main(String[] args) {

        // parse input arguments
        final ParameterTool parameterTool = ParameterTool.fromArgs(args);
}

3. From system properties

使用

-Dinput=hdfs:///mydata

或者

ParameterTool parameter = ParameterTool.fromSystemProperties();

 

ParameterTool有如下幾個方法可以獲得參數

parameter.getRequired("input");
parameter.get("output", "myDefaultValue");
parameter.getLong("expectedCount", -1L);
parameter.getNumberOfParameters();

  

註冊全局變量

// parse input arguments
ParameterTool parameters = ParameterTool.fromSystemProperties();
// register the parameters globally
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.getConfig().setGlobalJobParameters(parameters);

  

下面使用第1種方法來配置Flink消費Kafka的Topic

Ref:

https://github.com/apache/flink/blob/master/flink-end-to-end-tests/flink-streaming-kafka-test-base/src/main/java/org/apache/flink/streaming/kafka/test/base/KafkaExampleUtil.java

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章