데브코스 TIL/빅데이터, 스트리밍 데이터 처리

Spark 클라우드

예니ㅣ 2024. 1. 22. 12:43

강의

AWS Spark

AWS에서 Spark를 실행하기 위해서는 EMR(Elastic MapReduce)를 이용하는 것이 일반적입니다.

"EMR"은 Hadoop의 YARN과 유사한 기능을 제공하는 AWS의 서비스 입니다.

  • worker node : EC2 서버
  • HDFS : S3

 

실행 과정

  1. AWS EMR 클러스터 생성
  2. 옵션 : Spark 실행
  3. m5.xlarge 노드 3개 선택
  4. 기본 파일 시스텀 선택 : S3
  5. 마스터 노드 포트 번호 22 지정
  6. 마스터 노드를 드라이버 노드로 사용 : SSH 이용하여 로그인
  7. 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