Spark PartitionSalting을 통한 Data Skew 처리AQE가 등장하기 전 Data Skew 처리 방식 중 하나인 Salting에 대해 알아보자.Partition 관련 환경 변수 (3.3.1)spark.sql.shuffle.partitions클러스터 차원과 처리 데이터의 크기를 고려하여 Job마다 바꿔 설정큰 데이터를 처리한다면, 클러스터 전체 코어의 수로 설정AQE를 사용하는 관점에서는 조금 더 크게 설정하는 것이 좋음 (coalescing)SaltingSkew Partition을 처리하기 위한 테크닉AQE의 등장으로 인해 많이 쓰이지 않지만, AQE만으로 이슈가 사라지지 않는다면 필요할 수 있음랜덤 필드를 만들고, 그 기준으로 Partition을 새로 만들어 처리Aggregation ..
KafkaKafka 소개Kafka의 탄생2008년 LinkedIn에서 내부 실시간 데이터 처리를 위해 개발한 소프트웨어 플랫폼 (Scala, Java)2011년 초에 오픈소스화 (Apache)현재 포춘지 선정 100대 기업 중 80% 이상이 Kafka 사용Kafka 소개실시간 데이터 처리를 위한 오픈소스 분산 스트리밍 플랫폼Scalability와 Fault Tolerance를 제공하는 Publish-Subscription 메시징 시스템High Throughput & Low Latency으로 실시간 데이터 처리에 맞게 구현분산 아키텍처를 따르기 때문에 Scale Out(서버=Broker) 형태로 스케일 가능정해진 보유 기간 (retention period) 동안 메시지 저장기존 메시징 시스템 및 데이터 베..