ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spark] [python] Spark Application
    Data miner/Development log 2021. 3. 5. 16:04
    728x90

    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()                                    #기존 스파크 세션을 가져오거나 기존 스파크 세션이 없는 경우 이 빌더에 설정된 옵션을 기반으로 새 스파크 세션을 만듦
    

     

     

    파이썬 애플리케이션 생성

    $ .../spark-submit --master local main.py
    • 위의 명령을 커멘트에 입력하면, 애플리케이션이 실행된다.
Designed by Tistory.