
스파크 SQL과 소통하는 외부 구성요소들
Intro : 스파크 SQL의 특징
- 다양한 정형 데이터를 읽거나 쓸 수 있다. (ex. JSON, 하이브 테이블, Parquet, Avro, ORC, CSV)
- Tableau, Power BI, Talend와 같은 외부 비즈니스 인텔리전스의 데이터 소스나 MySQL, PostgreSQL과 같은 RDBMS의 데이터를 JDBC/ODBC 커넥터를 사용하여 쿼리할 수 있다.
- 스파크 애플리케이션에서 데이터베이스 안에 테이블 또는 뷰로 저장되어 있는 정형 데이터와 소통할 수 있도록 프로그래밍 인터페이스를 제공한다.
- 정형 데이터에 대해 SQL 쿼리를 실행할 수 있는 대화형 셸을 제공
- ANSI SQL: 2003 호환 명령 및 HiveOL을 지원
<aside>
💡 ANSI SQL
- DBMS의 종류마다 각기 다른 SQL을 사용하기 때문에, 미국 표준 협회(Amerian National Standards Institute)에서 이를 표준화하여 표준 SQL문을 정립시켜 놓은 것
</aside>
스파크 애플리케이션에서 스파크 SQL 사용하기
- SparkSession은 정형화 API로 스파크를 프로그래밍하기 위한 통합된 진입점을 제공. 마찬가지로 SQL 쿼리 실행을 위한 접근도 SparkSession을 통해 가능함.
spark = SparkSession()
spark.sql("쿼리문")
기본 쿼리 예제 - 항공사 데이터(airline dataset)
- 데이터 소개
- 날짜, 지연 거리, 출발지, 목적지 등 미국 항공편에 대한 데이터가 포함됨.