주요 컨텐츠로 이동

Spark SQL

Databricks 무료로 시작하기

대다수의 데이터 사이언티스트, 애널리스트, 일반 비즈니스 인텔리전스 사용자는 데이터를 탐색할 때 인터랙티브 SQL 쿼리에 의존합니다. Spark SQL은 구조적 데이터 처리를 위한 Spark 모듈입니다. 이 모듈은 일명 DataFrames라는 프로그래밍 추상화를 제공하며 분산형 SQL 쿼리 엔진 역할도 할 수 있습니다. 이것을 이용하면 수정되지 않은 하둡 Hive 쿼리를 기존 배포와 데이터에서 최대 100배 더 빠르게 실행되도록 할 수 있습니다. 또한 나머지 Spark 에코시스템과의 강력한 통합을 제공하기도 합니다(예: SQL 쿼리 처리를 머신 러닝과 통합).

Apache Spark SQL이란 무엇입니까?

Spark SQL은 Spark에 SQL 네이티브 지원을 제공하여 RDD(Spark의 분산형 Dataset)와 외부 소스 양쪽 모두에 저장된 데이터를 쿼리하는 프로세스를 간소화해줍니다. Spark SQL는 편리하게도 RDD와 관계형 테이블을 구분하는 선을 모호하게 흐립니다. 이 강력한 추상화를 통합하면 개발자 입장에서 외부 데이터를 쿼리하는 SQL 명령을 복잡한 분석과 서로 혼합하기 쉬운데, 그것도 모두 한 가지 애플리케이션 내에서 가능합니다. 구체적으로, Spark SQL을 사용하여 개발자가 할 수 있는 일은 다음과 같습니다.

  • Parquet 파일에서 Hive 테이블로 관계형 데이터 가져오기
  • 가져온 데이터 및 기존 RDD에 대하여 SQL 쿼리 실행
  • Hive 테이블이나 Parquet 파일로 손쉽게 RDD 쓰기

Spark SQL에는 비용 기반 최적화 프로그램, 열 형식 스토리지와 코드 생성도 포함되어 있어 쿼리 속도가 빠릅니다. 동시에 Spark 엔진을 사용해 수천 개의 노드, 여러 시간의 쿼리 규모로 확장할 수 있어 과거 데이터에는 다른 엔진을 사용해야 한다는 걱정 없이 쿼리 중 내결함성을 100% 보장합니다.  

추가 자료

용어집으로 돌아가기