강의
Spark SQL
"Spark SQL"은 구조화된 데이터 처리를 위한 Spark 모듈 입니다.
- 데이터프레임에 테이블 이름을 지정하여 sql 함수 사용
- HQL(Hive Query Language)와 호환 가능
- 가독성 용이 및 다수의 사람이 사용 가능
- 최적화 적절
- 포팅 및 접근권한 체크 용이
사용 방법
- 데이터프레임 기반 테이블 뷰 생성
- createOrReplaceTempView : Spark Session이 존재하는 동안 존재
- createOrReplaceGlobalTempView : Spark 드라이버가 존재하는 동안 존재
- Spark Session의 sql 함수로 SQL 결과를 데이터프레임으로 저장
함수
Aggregation
- Group by : SUM, MIN, MAX, AVG, COUNT
- Window : ROW_NUMBER, FIRST_VALUE, LAST_VALUE
- Rank
JOIN
- 다수의 테이블을 공통 필드를 통해 Merge
- 스타 스키마로 구성된 분산된 테이블의 정보를 통합
- 문법적 관점 : INNER JOIN, FULL JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN, SELF JOIN
- 최적화 관점
- Shuffle JOIN : 일반 조인
- Bucket JOIN : 조인 키를 바탕으로 새로운 파티션 생성 후 조인
- Broadcast JOIN : 어느 한쪽의 데이터프레임이 충분히 작은 경우( spark.sql.autoBroadcastJoinThreshold ) 큰 데이터프레임에 broadcasting
UDF(User Defined Function)
- .wifhColumn 이용
'데브코스 TIL > 빅데이터, 스트리밍 데이터 처리' 카테고리의 다른 글
Spark SQL 실습 3 (0) | 2024.01.17 |
---|---|
Spark SQL 실습 1 (0) | 2024.01.17 |
Spark 프로그래밍 실습 5 (0) | 2024.01.17 |
Spark 프로그래밍 실습 4 (0) | 2024.01.17 |
Spark 프로그래밍 실습 3 (0) | 2024.01.17 |