pyspark

pyspark Local 개발 환경 구성

wefree 2023. 12. 10. 17:27

Docker  로 실행

mkdir -p /home/windbird/opt/pyspark-notebook
docker run -p 8888:8888 -v /home/windbird/opt/pyspark-notebook:/home/jovyan jupyter/pyspark-notebook

 

접속하기

위의 docker run 실행하면 터미널에 아래와 같이 로그가 남겨지는 것을 확인할 수 있다.

 

브라우저에서 가이드된 주소로 (예: http://127.0.0.1:8888/lab?token=f765ddd427f2409b1878cc9b227ed7620122d7716d4134b1)  접속한다.

 

코드 실행 (jupyter notebook)

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()
from datetime import datetime, date
import pandas as pd
from pyspark.sql import Row

df = spark.createDataFrame([
    Row(a=1, b=2., c='string1', d=date(2000, 1, 1), e=datetime(2000, 1, 1, 12, 0)),
    Row(a=2, b=3., c='string2', d=date(2000, 2, 1), e=datetime(2000, 1, 2, 12, 0)),
    Row(a=4, b=5., c='string3', d=date(2000, 3, 1), e=datetime(2000, 1, 3, 12, 0))
])
# spark 3.4 부터 가능
# https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.SparkSession.sql.html#pyspark.sql.SparkSession.sql
spark.sql("select * from {my_table}", my_table=df,).show()