spark
-
SparkSQL에서 증분 테이블 처리하기Programming 2024. 2. 25. 21:49
배경ETL처리시 Spark를 통해 Trasfroming을 하는데 1000만 로우가 넘는 테이블을 이관하며 기존 Overwrite하는 방식이 아닌 증분되는 양만큼만 반영하기로 함updated_at 컬럼으로 증분되는 양만 읽어서 기존 테이블에 upsert를 하는 방식현재 운영하는 데이터웨어하우스는 일반적인 RDB가 아닌 HDFS기반이므로 불변성을 위해서 upsert를 할 수 없음옵션Hudi or Delta Lake or Iceberg와 같은 동시성이 제공되는 오픈소스를 사용한다현재 실시간 테이블을 위해서 Delta Lake를 사용되고 있지만 이관을 위해서는 따로 사용하고 있지 않으므로 다른 테이블과 사용성 및 통합을 위해서 해당 옵션은 보류SQL 윈도우 함수를 통해서 증분된 만큼 처리하고 기존 값과 UNIO..