Spark SQL이란?
- Spark SQL은 구조화된 데이터 처리를 위한 Spark 모듈
- 데이터 프레임 작업을 SQL로 처리 가능
- 데이터프레임에 테이블 이름 지정 후 sql함수 사용가능
- 판다스에도 pandassql 모듈의 sqldf함수를 이용하는 동일한 패턴 존재
- HQL(Hive Query Language)과 호환 제공
- Hive테이블들 읽고 쓸 수 있음 (Hive Metastore)
Spark SQL vs DataFrame
- SQL로 가능한 작업이라면 DataFrame을 사용할 이유가 없음
- 두 개를 동시에 사용할 수 있다는 점이 중요 (ex. SQL로 질의하고 데이터 프레임 기반으로 테이블 뷰 생성)
- Spark SQL 사용 시 이점
- Familiarity / Readability
- SQL이 가독성이 더 좋고 더 많은 사람들이 사용가능
- Optimization
- Spark SQL엔진이 최적화하기 더 좋음 (SQL은 Declarative)
- Catalyst Optimizer와 Project Tungsten
- Spark SQL엔진이 최적화하기 더 좋음 (SQL은 Declarative)
- Interoperability / Data Management
- SQL이 포팅도 쉽고 접근권한 체크도 쉬움
'Programmers TIL' 카테고리의 다른 글
[Kafka] Kafka 아키텍처 _TIL (1) | 2023.07.12 |
---|---|
[Kafka] Kafka 역사와 소개 _TIL (0) | 2023.07.12 |
[Spark] Spark 프로그램 구조 _TIL (0) | 2023.07.04 |
[Spark] Spark 데이터 시스템 구조 _TIL (1) | 2023.07.04 |
[Airflow] Airflow 기타 기능 _TIL (1) | 2023.06.21 |