Pyspark에서 데이터 파티션 관리방법 - partitionBy()
글 작성자: _rian
데이터 파티셔닝은 대용량의 데이터를 처리할 때 중요한 개념이다. 파티셔닝에 관한 자세한 글은 아래 링크를 참고. https://gmlwjd9405.github.io/2018/09/24/db-partitioning.html
Pyspark에서는 DataFrameWriter
와 partitionBy()
메소드를 사용하여 데이터프레임을 특정 열 기준으로 파티션할 수 있다.
1. 파티션을 지정하여 새로운 테이블을 생성할 경우
df.write\
.partitionBy('part_date')\
.format('parquet')\
.saveAsTable(TABLE_NAME)
위 코드는 part_date
를 기준으로 DataFrame을 파티셔닝하고 그 결과를 parquet 현식의 테이블로 저장하는 방법이다.
2. 기존에 있는 테이블에 새로운 파티션의 내용을 추가하고 싶은 경우 - insertInto()
기존 테이블이 존재하고 새 파티션에 데이터를 저장하고 싶다면 write mode를 overwrite로 변경하고 insertInto()
명령어와 함께 사용해준다.
df.write\
.format('parquet')\
.mode('append')\
.insertInto(TABLE_NAME)
이는 기존 테이블의 파티션 구조를 그대로 유지하면서 새로운 데이터를 추가할 수 있게 해준다.
'Computer Engineering' 카테고리의 다른 글
spark에서 conda 가상환경 설정하기 & Jupyter에서 conda 가상환경 설정하기 (0) | 2023.10.18 |
---|---|
YARN Cluster에 연결된 Spark로 pyspark - Oracle 데이터베이스 연결하기 (0) | 2023.06.08 |
Spark Deploy Mode의 종류 (0) | 2023.06.07 |
Pandas Basic (0) | 2020.07.01 |
[Azure Certi] AZ-900 Certi 준비 (10) - Azure 비용 예상 및 지출 최적화 (0) | 2020.05.27 |
댓글
이 글 공유하기
다른 글
-
spark에서 conda 가상환경 설정하기 & Jupyter에서 conda 가상환경 설정하기
spark에서 conda 가상환경 설정하기 & Jupyter에서 conda 가상환경 설정하기
2023.10.18 -
YARN Cluster에 연결된 Spark로 pyspark - Oracle 데이터베이스 연결하기
YARN Cluster에 연결된 Spark로 pyspark - Oracle 데이터베이스 연결하기
2023.06.08 -
Spark Deploy Mode의 종류
Spark Deploy Mode의 종류
2023.06.07 -
Pandas Basic
Pandas Basic
2020.07.01