더북(TheBook)

5.3.1 테이블 카탈로그와 하이브 메타스토어

 

이미 잘 알겠지만, 대부분의 SQL 연산자는 테이블과 칼럼 이름을 바탕으로 SQL 연산을 수행한다. DataFrame을 테이블로 등록해 두면 스파크 SQL 쿼리에서는 등록된 이름으로 이 DataFrame을 참조할 수 있다. 스파크는 사용자가 등록한 테이블 정보를 테이블 카탈로그(table catalog)에 저장한다.

하이브 지원 기능이 없는 스파크에서는 테이블 카탈로그를 단순한 인-메모리 Map으로 구현한다. 따라서 등록된 테이블 정보를 드라이버의 메모리에만 저장하고, 스파크 세션이 종료되면 같이 사라진다. 반면 하이브를 지원하는 SparkSession에서는 테이블 카탈로그가 하이브 메타스토어(metastore)를 기반으로 구현되었다. 하이브 메타스토어는 영구적인 데이터베이스로, 스파크 세션을 종료하고 새로 시작해도 DataFrame 정보를 유지한다.

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