2017-11-28 7 views
1

모드에서 실행중인 내 spark 응용 프로그램의 환경 변수를 설정하려고합니다.Spark 응용 프로그램에서 환경 변수를 설정할 수 없습니다.

그러나
spark-submit --conf spark.executorEnv.FOO=bar --class com.amazon.Main SWALiveOrderModelSpark-1.0-super.jar 

, 나는이에 액세스하려고 할 때 : - - :

System.out.println("env variable:- " + System.getenv("FOO")); 

출력하는 것은 : - 여기

는 스파크 제출하는 일이다

env variable:- null 

아무도 내가 이것을 해결할 수있는 방법을 알고 있습니까?

답변

2

spark.executorEnv.[EnvironmentVariableName]is used to (강조 광산)를 가져 SparkConf를 사용해야합니다 :

집행자 과정에 EnvironmentVariableName에 의해 지정된 환경 변수를 추가합니다.

운전자에게 표시되지 않습니다 (org.apache.spark.SparkConf 제외).

sc.range(0, 1).map(_ => System.getenv("FOO")).collect.foreach(println) 
bar 
: 그것은 당신이 작업에서, 예를 들어 오른쪽 맥락에서 그것을 할 System.getenv을 사용하여 액세스하는 방법
1

SparkConf을 사용하여 Spark 환경 변수를 설정합니다. 당신은뿐만 아니라

sc.getConf.get("spark.executorEnv.FOO")