더북(TheBook)

5.3.2 SQL 쿼리 실행

 

DataFrame을 테이블로 등록하고 나면 이제 SQL 표현식을 사용해 이 데이터에 질의를 실행할 수 있다. SQL 표현식은 SparkSessionsql 함수로 실행한다. 스파크 셸에서는 sql 함수를 자동으로 임포트하므로(import spark.sql) SQL 명령을 바로 실행할 수 있다.

val resultDf = sql("select * from posts")

 

sql 함수의 결과 또한 DataFrame이다. 스파크 SQL은 DataFrame DSL이 지원하는 모든 데이터 작업을 똑같이 지원할 수 있을 뿐만 아니라, 더 많은 기능을 제공한다. 하이브 지원 SparkSession을 사용하면 하이브가 제공하는 명령 및 데이터 타입을 대부분 활용할 수 있다. 예를 들어 스파크 SQL로 ALTER TABLE이나 DROP TABLE 등 DDL(Data Definition Language)도 사용할 수 있다. 스파크 공식 문서(http://mng.bz/8AFz)에서 스파크가 지원하는 하이브 관련 기능의 전체 목록을 찾아볼 수 있다. 책에서는 지면 관계상 모든 기능을 상세히 나열할 수 없으므로 자세한 내용은 하이브 언어 매뉴얼(http://mng.bz/x7k2)을 참고하자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.