Spark & Hadoop/Pyspark & SparkSQL

[SparkSQL] SparkSQL이란

YSY^ 2023. 10. 3. 15:09

Spark SQL

  • Spark SQL은 구조화된 데이터 처리를 위한 Spark 모듈
  • 데이터 프레임 작업을 SQL로 처리 가능
    • 데이터프레임에 테이블 이름 지정 후 sql함수 사용가능
    • 판다스에도 pandasql 모듈의 sqldf 함수를 이용하는 동일한 패턴 존재
  • HQL(Hive Query Language)과 호환 제공
    • Hive 테이블들을 읽고 쓸 수 있음 (Hive Metastore)

 

Spark SQL 의 장점 (DataFrame에 비해)

  • SQL로 가능한 작업이라면 DataFrame을 사용할 이유가 없음
    • 물론 두개를 동시에 사용할 수 있음
  1. Familiarity/Readability
    • SQL이 가독성이 더 좋고 더 많은 사람들이 사용가능
  2. Optimization
    • Spark SQL 엔진이 최적화하기 더 좋음 (SQL은 Declarative)
    • Catalyst Optimizer와 Project Tungsten
  3. Interoperability/Data Management
    • SQL이 포팅도 쉽고 접근권한 체크도 쉬움 (SQL은 접근권한이 없으면 그냥 에러를 출력함)
728x90
반응형