반응형

스파크 데이터프레임(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를 통해 데이터를 원하는대로 손쉽게 저장해서 사용하시길!!!

반응형

+ Recent posts