DataFrame
데이터 프레임이란 관계형 데이터베이스의 테이블과 R과 파이썬의 데이터 프레임과 같은 개념이다. (데이터 프레임은 2차원의 배열 구조로 구성되어있다.)
DataFrame 특징
- Spark SQL 옵티마이저로 데이터를 추출할 수 있고, optimization(최적화)를 할 수 있다.
- 자바, 스칼라, R API 함수로 조작할 수 있다.
스파크에서 DataFrame 만들기
스파크에서는 구조화된 데이터 파일, HIVE의 테이블, 외부 데이터베이스, RDD의 배열로 데이터프레임을 만들 수 있다. 그리고 Spark SQL을 사용할 때, SQL으로 반환되는 값의 유형은 데이터프레임이다.
아래는 공식홈페이지에서 가져온 데이터프레임 만들기 스칼라 예시이다.
val sc: SparkContext // An existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val df = sqlContext.read.json("examples/src/main/resources/people.json")
// Displays the content of the DataFrame to stdout
df.show()
sqlContext로 외부 데이터 소스를 읽어오면, 데이터 프레임 형태로 읽혀진다.
RDD VS DataFrame
- RDD보다는 DataFrame 사용을 권장한다고 한다. 왜냐하면 query optimization 가 가능하기 때문이다. 1참고
스파크 작업을 하면서 데이터 프레임의 개념과 RDD가 헷갈렸다. 그런데.. 이제 뭔지 좀 감이 온당..ㅋㅋ
참고 페이지
https://databricks.com/blog/2015/02/17/introducing-dataframes-in-spark-for-large-scale-data-science.html
- 질의를 수행하는 데 가장 비용이 적게 드는 접근 경로를 선택하고 그 방법을 수행하는 과정 또는 동작 [본문으로]
'소프트웨어-이야기 > 데이터 저장소 + 시각화 ' 카테고리의 다른 글
[couchbase]카우치 베이스에서 테이블이란? (0) | 2016.08.21 |
---|---|
[카우치베이스]Insert와 Select의 시간차 (2) | 2016.05.31 |
[SPARK]SQLContext / 데이터 프레임에 SQL 날리기 ! (0) | 2016.03.01 |
[Mac]요세미티에 스파크 설치하기 (2) | 2016.01.24 |
[MySQL][Out Of Range] sql_mode Strict Type과 아닌 것의 차이 (0) | 2016.01.24 |