5.7 요약
• 스파크의 DataFrame은 SQL 코드와 도메인 특화 언어(DSL) 표현식을 최적화된 하위 레벨 RDD 연산으로 변환한다.
• DataFrame은 현재 스파크의 가장 중요한 기능 중 하나이며, 스파크 SQL을 가장 활발한 스파크 컴포넌트로 만든 원동력이다.
• DataFrame은 기존 RDD를 변환하거나 SQL 쿼리를 실행하거나 외부 데이터를 로드해 생성할 수 있다.
• DataFrame DSL 함수를 사용해 데이터를 선택·필터링·그루핑·조인할 수 있다.
• DataFrame은 스칼라(scalar) 함수, 집계 함수, 윈도 함수, 사용자 정의 함수를 지원한다.
• DataFrame의 na 필드로 제공하는 DataFrameNaFunctions 클래스는 데이터셋의 결측 값을 적절하게 처리할 수 있다.
• 스파크 SQL의 매개변수는 별도의 메서드로 설정한다.
• Dataset은 DataFrame과 유사한 실험적 기능으로, 범용 Row 컨테이너 대신 일반 자바 객체를 저장할 수 있다.
• DataFrame을 임시 테이블로 등록하거나 하이브 메타스토어에 영구 저장할 수 있다. 스파크는 테이블 데이터를 로컬 Derby 데이터베이스나 원격지 관계형 데이터베이스에 저장한다.
• 스파크 SQL 셸을 사용해 하이브 메타스토어에 등록된 테이블에 직접 질의할 수 있다.
• 스파크가 제공하는 쓰리프트 서버를 이용해 JDBC 또는 ODBC로 스파크에 접속하고 SQL 쿼리를 실행할 수 있다.
• SparkSession의 read 필드로 제공하는 DataFrameReader를 사용해 데이터를 DataFrame으로 불러올 수 있다.