2024. 8. 10. 16:19ㆍDATA/Spark
# Create a SparkSession
spark = SparkSession.builder \
.appName("WordCount with YARN") \
.master("local") \
.config("spark.submit.deployMode", "client") \
.config("spark.yarn.stagingDir", "hdfs:///user/staging") \
.getOrCreate()
# Now you can use `spark` to interact with Spark
1. SparkSession.builder:
- SparkSession을 생성하기 위한 진입점이다. SparkSession은 DataFrame API, SQL 및 기타 Spark 구성 요소와 상호작용할 수 있는 통합 인터페이스를 제공한다.
2. .appName("WordCount with YARN"):
- Spark 애플리케이션의 이름을 설정한다. 여기서는 "WordCount with YARN"으로 설정되어 있으며, Spark 웹 UI와 로그에서 애플리케이션을 식별하는 데 도움을 준다.
3. .master("local"):
- 클러스터 관리자의 마스터 URL을 지정한다. "local"은 애플리케이션이 단일 스레드를 사용하는 로컬 머신에서 실행됨을 의미한다. 주로 테스트나 개발 목적으로 사용된다. 실제 클러스터에서 실행하려면 클러스터의 마스터 URL을 여기서 지정해야 한다(예: yarn은 YARN 클러스터를 의미하며, spark://master:7077은 독립형 클러스터를 의미한다).
4. .config("spark.yarn.stagingDir", "hdfs:///user/zoca01/staging"):
- 특정 Spark 구성 속성을 설정한다. 여기서는 "spark.yarn.stagingDir"이 "hdfs:///user/zoca01/staging"으로 설정되어 있다. 이는 Spark가 YARN 클러스터에서 실행될 때, 작업의 중간 결과를 저장할 HDFS의 디렉토리를 지정하는 데 사용된다.
5. .getOrCreate():
- 설정한 옵션으로 SparkSession을 생성한다. 이미 존재하는 SparkSession이 있다면 이를 반환하고, 없다면 새로 생성한다.
'DATA > Spark' 카테고리의 다른 글
RDD를 사용하여 단어 빈도수를 계산 (0) | 2025.01.19 |
---|---|
Incremental(증분) 방식과 문제점 | Lambda | Kappa Architecture (0) | 2025.01.18 |
Spark의 연산 (0) | 2024.08.10 |
RDD(Resilient Distributed Dataset)의 장애 복원 절차 (0) | 2024.08.10 |