
1. 빅데이터 처리와 Spark 소개
1) 빅데이터의 처리를 위해 하둡이라는 오픈소스 등장
분산 파일 시스템과 분산 컴퓨팅 시스템으로 구성
맵리듀스 프로그래밍의 제약성으로 인해 SQL이 재등장
2) Spark는 대세 대용량 데이터 분산 컴퓨팅 기술
Pandas + Scikit Learn의 스테로이드 버젼
SQL과 스트림 데이터와 그래프 처리도 제공
2. Spark 프로그래밍 : DataFrame
1) 데이터 처리에서 중요 개념: Partition, Shuffling
2) 데이터 구조 : RDD, DataFrame, Dataset
3) Spark Session 생성과 설정
4) DataFrame 프로그래밍
3. Spark 프로그래밍 : SQL
1) 데이터 분석에 SQL이 필수적
2) Spark에는 Spark SQL 모듈이 존재
3) Hive 메타스토어와 같이 많이 사용
4) 코드와 SQL 검증을 위한 유닛 테스트 작성
4. Spark 내부동작
1) Spark 파일 포맷으로 최적은 PARQUET
2) Spark Job 최적화를 위해서는 Execution Plan 확인
3) Bucketing과 Partitioning을 통해 입력 데이터 구조를 최적화
5. AWS 클라우드 기반 Spark 클러스터
1) AWS Spark 클러스터 론치
2) AWS Spark 클러스터 상에서 PySpark 잡 실행