Spark SQL
- Spark SQL은 구조화된 데이터 처리를 위한 Spark 모듈
- 데이터 프레임 작업을 SQL로 처리 가능
- 데이터프레임에 테이블 이름 지정 후 sql함수 사용가능
- 판다스에도 pandasql 모듈의 sqldf 함수를 이용하는 동일한 패턴 존재
- HQL(Hive Query Language)과 호환 제공
- Hive 테이블들을 읽고 쓸 수 있음 (Hive Metastore)
Spark SQL 의 장점 (DataFrame에 비해)
- SQL로 가능한 작업이라면 DataFrame을 사용할 이유가 없음
- 물론 두개를 동시에 사용할 수 있음
- Familiarity/Readability
- SQL이 가독성이 더 좋고 더 많은 사람들이 사용가능
- Optimization
- Spark SQL 엔진이 최적화하기 더 좋음 (SQL은 Declarative)
- Catalyst Optimizer와 Project Tungsten
- Interoperability/Data Management
- SQL이 포팅도 쉽고 접근권한 체크도 쉬움 (SQL은 접근권한이 없으면 그냥 에러를 출력함)
728x90
반응형