강의
AWS Spark
AWS에서 Spark를 실행하기 위해서는 EMR(Elastic MapReduce)를 이용하는 것이 일반적입니다.
"EMR"은 Hadoop의 YARN과 유사한 기능을 제공하는 AWS의 서비스 입니다.
- worker node : EC2 서버
- HDFS : S3
실행 과정
- AWS EMR 클러스터 생성
- 옵션 : Spark 실행
- m5.xlarge 노드 3개 선택
- 기본 파일 시스텀 선택 : S3
- 마스터 노드 포트 번호 22 지정
- 마스터 노드를 드라이버 노드로 사용 : SSH 이용하여 로그인
- PySpark 잡 코드 실행
ssh -i 프라이빗키.pen hadoop@마스터노드호스트이름
spark-submit --master yarn stackoverflow.py
# stackoverflow.py
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))
'데브코스 TIL > 빅데이터, 스트리밍 데이터 처리' 카테고리의 다른 글
데이터 처리 변천 (1) | 2024.01.22 |
---|---|
배치 처리 소개 (0) | 2024.01.22 |
Spark 내부동작 (0) | 2024.01.18 |
Spark 파일 포맷 (0) | 2024.01.18 |
Spark Unit Test (0) | 2024.01.17 |