반응형
스파크 데이터프레임(Dataframe) partitionBy를 사용해 원하는대로 손쉽게 저장하자!
스파크(Spark) 데이터프레임(Dataframe) 혹은 데이터셋(Dataset)을 통해 작업하게 되면
sql기반의 명령을 통해서 데이터를 손쉽게 활용할 수 있다는 점과 더불어 특정 컬럼 기반으로
데이터를 저장할 수가 있다.
잠깐 데이터프레임(Dataframe)과 데이터셋(Dataset)에 대해 언급하자면 데이터셋(Dataset)은 데이터프레임과 RDD의 단점들을
보완한 모델로 Spark 1.6이상 버전부터 사용할 수 있다.
이번에 데이터프레임(Dataframe)을 partitionBy를 통해 저장해보았는데 이런 기능이 있다라고만 알았지
막상 써보니 너무 편해서 정리하게 되었다.
다음과 같은 데이터프레임(Dataframe)이 있을 때
partitionBy를 이용하면 특정 컬럼을 기반으로 디렉토리를 나누어 저장할 수 있다.
예를들어 advid를 기준으로 데이터를 나누어 저장하고 싶을 떄
df.write.partitionBy("advid").save("/저장될경로")
라고 저장해주면 다음과 같이 파일들이 advid를 기준으로 저장되게 된다.
이 얼마나 간편한가!!!!
다들 partitionBy를 통해 데이터를 원하는대로 손쉽게 저장해서 사용하시길!!!
반응형
'Bigdata > Spark' 카테고리의 다른 글
[ Spark ] dataframe null값 0으로 변경이 잘안돼요??? (0) | 2018.09.03 |
---|---|
[ Spark ] 스파크 Dataframe count중 scala.MatchError 발생 (0) | 2018.04.19 |
[ Spark ] JavaRDD로 saveAsTextFile했는데 데이터가 정상적으로 나오지 않는 경우 (0) | 2018.01.10 |
[Spark] 스파크(Spark) Collect관련 OutOfMemoryError:Java heap space (0) | 2017.11.02 |
[Spark] 스파크(Spark) 스트리밍 성능 개선 (0) | 2017.11.01 |