터칭 데이터

Spark EMR 데모 마무리 본문

하둡과 Spark

Spark EMR 데모 마무리

터칭 데이터 2024. 1. 22. 12:41

 

 

Contents


1. AWS Spark 클러스터 론치
2. AWS Spark 클러스터 상에서 PySpark 잡 실행

 

 

 

 

 

 

 

 

 

AWS Spark 클러스터 상에서 PySpark 잡 실행


AWS Spark 클러스터 상에서 PySpark 잡을 실행해보자

 

 

 

 

 

 

 

 

 

 

PySpark 잡 실행 과정

 

Spark 마스터노드에 SSH로 로그인

이를 위해 마스터노드의 TCP 포트번호 22번을 오픈해야함

 

spark-submit을 이용해서 실행하면서 디버깅

 

두 개의 잡을 AWS EMR 상에서 실행해 볼 예정

 

 

 

 

 

 

 

 

 

 

입력 데이터를 S3로 로딩

 

Stackoverflow 2022년 개발자 서베이 CSV 파일을 S3 버킷으로 업로드

익명화된 83,339개의 서베이 응답

 

s3://spark-tutorial-dataset/survey_results_public.csv

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PySpark 잡 코드 설명

 

입력 CSV 파일을 분석하여 그 결과를 S3에 다시 저장 (stackoverflow.py)

 

미국 개발자만 대상으로 코딩을 처음 어떻게 배웠는지 카운트해서 S3로 저장

 

from pyspark.sql import SparkSession
from pyspark.sql.functions import col

S3_DATA_INPUT_PATH = 's3://spark-tutorial-dataset/survey_results_public.csv'
S3_DATA_OUTPUT_PATH = 's3://spark-tutorial-dataset/data-output'

spark = SparkSession.builder.appName('Tutorial').getOrCreate()

df = spark.read.csv(S3_DATA_INPUT_PATH, header=True)
print('# of records {}'.format(df.count()))

learnCodeUS = df.where((col('Country') == 'United States of America')).groupby('LearnCode').count()

learnCodeUS.write.mode('overwrite').csv(S3_DATA_OUTPUT_PATH) # parquet
learnCodeUS.show()
print('Selected data is successfully saved to S3: {}'.format(S3_DATA_OUTPUT_PATH))

 

 

 

 

 

 

 

 

 

 

 

PySpark 잡 실행

Spark 마스터노드에 ssh로 로그인하여 spark-submit을 통해 실행

● 앞서 다운로드받은 .pem 파일을 사용하여 SSH 로그인
● spark-submit --master yarn stackoverflow.py

 

 

 

 

 

 

 

 

 

 

PySpark 잡 실행 결과를 S3에서 확인하기

 

 

 

 

 

'하둡과 Spark' 카테고리의 다른 글

요약  (0) 2024.01.22
Spark EMR 론치  (0) 2024.01.22
Intro  (0) 2024.01.22
요약  (0) 2024.01.22
Bucketing과 Partitioning  (0) 2024.01.20