주요 컨텐츠로 이동

Spark SQL이란 무엇인가요?

Spark SQL을 사용하면 Spark의 성능, 확장성 및 데이터 생태계 통합을 활용하면서 익숙한 SQL로 구조화된 데이터를 쿼리할 수 있습니다.

4 Personas Analytics AIBI 3c
데이터 + AI 기초Less than a minute

작성자: Databricks 팀

Summary

  • Spark SQL이 Apache Spark에 네이티브 SQL 지원을 제공하여 익숙한 쿼리로 대규모 정형 데이터 세트를 분석하는 방법을 알아보세요.
  • Spark SQL이 DataFrame, 비용 기반 최적화 및 컬럼형 스토리지를 활용하여 대규모 환경에서 고성능 쿼리를 제공하는 방법을 살펴보세요.
  • Spark SQL이 머신 러닝 및 Databricks 레이크하우스와 통합되어 엔드투엔드 분석 워크로드를 지원하는 방법을 알아보세요.

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

Apache Spark SQL이란 무엇입니까?

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

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

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

5X 리더

Gartner®: Databricks 클라우드 데이터베이스 리더

추가 자료

게시물을 놓치지 마세요

관심 있는 카테고리를 구독하고 최신 게시물을 받은편지함으로 받아보세요