예니ㅣ 2024. 1. 17. 14:40

강의

Spark 설치

구글 Colab

  • PySpark 및 Py4J 패키지 사용
!pip install pyspark==3.3.1 py4j==0.10.9.5 

from pyspark.sql import SparkSession

spark = SparkSession.builder\
        .master("local[*]")\
        .appName('PySpark Tutorial')\
        .getOrCreate()
        
spark

 

Local Standalone Spark

  • Z쉘 사용 기본
  • JDK8/11 필요
  • JAVA_HOME 환경변수 ~/.zshrc에 등록
  • Spark 다운로드
java -version

/usr/libexec/java_home
export JAVA_HOME= 디렉토리 경로
echo $JAVA_HOME
vi ~/.zshrc
	export JAVA_HOME= 디렉토리 경로

 


Spark 실행 테스트

자료 구조 변환

# 리스트 -> rdd
rdd = spark.sparkContext.parallelize(list)
rdd.collect()

# 리스트 -> DataFrame
df = spark.createDataFrame(list)
df.select('*').collect()

# rdd -> DataFrame
df = parsed_rdd.toDF()
df.select('*').collect()

# csv -> Spark DataFrame
df = spark.read.option("header", True).csv(csv)
df.show()

group_df = df.groupby(["gender"]).count().collect()
group_df.rdd.getNumPartitions()
group_df.repartition(partitions_num)

# DataFrame을 SparkSQL로 처리
df.createOrReplaceTempView(table_name)
group_df = spark.sql("SELECT field FROM table GROUP BY 1")
spark.catalog.listTables()