-
[Spark] [python] Spark ApplicationData miner/Development log 2021. 3. 5. 16:04728x90
Spark Application
SparkSession
- Spark Application 을 가동하기 위해서 가장 먼저 생성해야 하는 것
- builder 메서드를 사용하면 안전하게 생성 가능
- SparkSession 실행 후 스파크 코드 실행 가능/ 저수준 API 실행 가능
SparkContext
- 스파크 클러스터에 대한 연결을 나타냄
- SparkSession 생성시 getOrCreate를 통해 직접 초기화
from os.path import join, abspath import collections from pyspark import StorageLevel from pyspark.sql import Row from pyspark.sql import SparkSession from pyspark.sql.functions import * from pyspark.sql import functions from pyspark.sql.types import * from pyspark.sql.window import Window import time #스파크 세션을 사용하면 DataFrame 생성, DataFrame을 테이블로 등록, SQL 실행, 테이블 캐시, 패켓 파일 읽기 등을 할 수 있다. #다음은 스파크 세션을 생성한 빌드 패턴 예시이다. warehouse_location = abspath('spark-warehouse') spark = SparkSession \ .builder \ #sparksession의 빌더 .appName("sample") \ #app의 이름 .master("local[*]") \ #로컬 시스템에 있는 코어 수만큼의 작업자 스레드를 사용하여 스파크를 실행. .config("spark.sql.warehouse.dir", warehouse_location) \ #(configuration property의 key값, configuration property의 value값) .config("spark.driver.host", "172.30.1.60") \ #연결할 스파크 마스터 URL을 설정 .getOrCreate() #기존 스파크 세션을 가져오거나 기존 스파크 세션이 없는 경우 이 빌더에 설정된 옵션을 기반으로 새 스파크 세션을 만듦
파이썬 애플리케이션 생성
- .py 및 여러 개의 .py파일을 하나의 egg나 ZIP 파일 형태로 압축
- spark-submit --py-files 인수로 파일을 지정한다.
- 관련 링크 참조 : towardsdatascience.com/successful-spark-submits-for-python-projects-53012ca7405a
$ .../spark-submit --master local main.py
- 위의 명령을 커멘트에 입력하면, 애플리케이션이 실행된다.
'Data miner > Development log' 카테고리의 다른 글
[parquet] 파일 나눠서 저장하기 (0) 2023.03.25 [torch] torch.einsum 함수 이해하기 (1) 2022.11.15 [Spark] [python] 구조적 API 기본 연산 (0) 2021.03.01 [Spark] 아파치 스파크 개념 정리중 (1) 2021.02.17 [python] [pandas] 특정 칼럼에 속한 unique한 값의 개수 구하기 (0) 2021.01.22