Spark SQL을 사용하면 Spark의 성능, 확장성 및 데이터 생태계 통합을 활용하면서 익숙한 SQL로 구조화된 데이터를 쿼리할 수 있습니다.
작성자: Databricks 직원
대부분의 데이터 사이언티스트, 애널리스트, 그리고 비즈니스 인텔리전스 사용자는 데이터를 탐색할 때 인터랙티브 SQL 쿼리를 활용합니다. Spark SQL은 구조적 데이터 처리를 위한 Spark 모듈입니다. 이 모듈은 일명 DataFrames라는 프로그래밍 추상화를 제공하며 분산형 SQL 쿼리 엔진 역할도 할 수 있습니다. 이것을 이용하면 수정되지 않은 하둡(Hadoop) Hive 쿼리를 기존 배포와 데이터에서 최대 100배 더 빠르게 실행되도록 할 수 있습니다. 또한 머신 러닝 등 나머지 Spark 에코시스템과도 긴밀하게 통합되어 SQL 쿼리와 고급 분석을 함께 수행할 수 있습니다.
Spark SQL은 Spark에 SQL 네이티브 지원을 제공하여 RDD(Spark의 분산형 Dataset)와 외부 소스 양쪽 모두에 저장된 데이터를 쿼리하는 프로세스를 간소화해줍니다. Spark SQL는 편리하게도 RDD 와 관계형 테이블을 구분하는 선을 모호하게 흐립니다. 강력한 추상화를 통합하면 개발자 입장에서 외부 데이터를 쿼리하는 SQL 명령을 복잡한 분석과 혼합하기 쉬운데, 그것도 모두 한 가지 애플리케이션 내에서 가능합니다. SQL 교육 관점에서도 Spark SQL은 중요한 학습 주제입니다. SQL 문법에 익숙한 사용자라면 Spark SQL을 통해 자연스럽게 빅데이터 분석 환경으로 확장할 수 있기 때문입니다. 구체적으로, Spark SQL을 사용하여 개발자가 할 수 있는 일은 다음과 같습니다.
Spark SQL에는 비용 기반 최적화 프로그램, 열 형식 스토리지와 코드 생성도 포함되어 있어 쿼리 속도가 빠릅니다. 동시에 Spark 엔진을 사용해 수천 개의 노드, 여러 시간의 쿼리 규모로 확장할 수 있어 과거 데이터에는 다른 엔진을 사용해야 한다는 걱정 없이 쿼리 중 내결함성을 100% 보장합니다.
블로그를 구독하고 최신 게시물을 이메일로 받아보세요.