-
2020.05.08 오늘의 일지Dev/개발일지 2020. 6. 1. 02:57
SparkSession 실행 관련
12345678910111213public SparkSession setSpark(){SparkSession spark = SparkSession.builder().master("local[*]") // Cluster DeployMode일 경우 주석처리.config("spark.submit.deployMode","cluster") // Local 마스터일 경우 주석처리.config("spark.driver.host", "localhost") // Cluster DeployMode일 경우 주석처리.config("spark.cleaner.referenceTracking.cleanCheckpoints", "true").appName("MyApp").getOrCreate();spark.conf().set("spark.driver.allowMultipleContexts", "true");spark.sparkContext().setLogLevel("ERROR");return spark;}cs
Spark를 Local 모드로 실행하는 이유
=> 단 하나. 테스트 및 디버그
Spark를 Cluster로 실행하는 이유
=> 원래 여러 노드를 실행하기 위해 존재하는 분산 데이터 프로세싱 프레임워크니깐.
Local[*] 모드로 실행 시 .master 옵션 활성화 및 spark.driver.host 활성화cluster mode로 실행 시 .config("spark.submit.deployMode", "cluster") 활성화
Spark 2 버전 부터는 SparkSession을 사용할 수 있다.
물론 JavaSparkContext도 사용할 수 있지만, Spark Query를 사용하기 위해서 SparkSession을 사용했다.
SparkSession의 Master, Config는 spark-submit에서 인자값으로 설정하는 것과 동일하다.
물론, 우선 순위는 Driver Program의 소스 코드가 가장 최우선 순위지만, 설정을 동적으로 하고 싶다면 그냥 spark-submit 시 설정하는 것이 좋다.'Dev > 개발일지' 카테고리의 다른 글
2020.06.04 오늘의 일지 (0) 2020.06.04 2020.06.02 오늘의 일지 (0) 2020.06.02 2020.05.07 오늘의 일지 (0) 2020.06.01 2020.05.28 오늘의 일지 (1) 2020.05.28 2020.05.27 오늘의 일지 (0) 2020.05.28