더북(TheBook)

5.1.2 기본 DataFrame API

 

DataFrame을 로드하는 데 성공했다면 이제 풍부한 DataFrame API를 마음껏 사용할 수 있다. DataFrame의 DSL은 스파크 SQL의 핵심 개념으로 DataFrame 데이터를 다룰 수 있는 다양한 기능을 제공한다. 스파크의 머신 러닝 라이브러리(스파크 ML) 또한 DataFrame을 사용한다. 다시 말해 DataFrame은 스파크의 초석과도 같은 존재이므로 DataFrame API를 잘 익혀야 한다.

DataFrame의 DSL은 관계형 데이터베이스의 일반 SQL 함수와 유사한 기능을 제공한다. DataFrame은 RDD와 마찬가지로 불변성과 지연 실행하는 특징이 있다. DataFrame은 RDD를 기반으로 구현해 RDD 아키텍처의 불변성을 그대로 이어받았다. 다시 말해 DataFrame의 데이터를 직접 변경하지 못하며, 반드시 새로운 DataFrame으로 변환해야 한다. 또 대부분의 DataFrame DSL 함수는 결과를 바로 반환하지 않는 대신, RDD 변환 연산자와 마찬가지로 새로운 DataFrame을 반환하면서 실제 연산은 지연 처리한다.

이 절에서는 기본 DataFrame 함수를 개괄적으로 살펴보고 DataFrame의 데이터를 선택·필터링·매핑·그룹핑·조인하는 방법을 알아본다. 스파크 SQL은 이 DataFrame 함수들과 동일한 기능을 수행하는 SQL 함수들을 제공하며, 자세한 내용은 5.3절에서 살펴본다.

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