Spark는 대규모 데이터 처리를 위한 분산 컴퓨팅 시스템입니다. 원래 UC 버클리의 연구자 팀에 의해 개발되었으며, Hadoop의 MapReduce보다 빠르고 유연한 데이터 처리 기능을 제공합니다. Spark는 메모리 내에서 데이터를 처리하기 때문에, 디스크 기반의 처리보다 훨씬 빠른 성능을 자랑합니다. 또한, 다양한 언어(Scala, Java, Python, R)를 지원하여 개발자들이 쉽게 접근할 수 있도록 하고 있습니다.### Spark로 ETL을 해야 하는 이유Python이나 Pandas, Polars와 같은 도구들도 ETL 작업에 많이 사용되지만, Spark는 대규모 데이터 처리에 최적화되어 있습니다. 특히, 데이터의 양이 많아질수록 Spark의 성능이 더욱 두드러집니다. Spark는 클러스터 ..
Spark에서 Shuffle은 데이터 처리의 중요한 개념입니다. Shuffle이란 데이터의 재분배를 의미하며, 주로 Wide Transformation에서 발생합니다. Wide Transformation은 데이터의 구조를 변경하는 연산으로, 예를 들어 `groupByKey`와 `reduceByKey`가 있습니다. 이 두 연산은 데이터의 재구성을 필요로 하며, 이 과정에서 Shuffle이 발생합니다. `groupByKey`는 모든 데이터를 한 곳으로 모으는 방식으로, 데이터의 양이 많을 경우 성능 저하를 초래할 수 있습니다. 반면, `reduceByKey`는 데이터를 미리 로컬에서 합친 후 Shuffle을 수행하기 때문에 더 효율적입니다. 이러한 차이로 인해, 데이터 처리 시 어떤 연산을 선택하는지가 성능..
Hive and Iceberg Quickstart - Apache Iceberg™Hive This guide will get you up and running with Apache Iceberg™ using Apache Hive™, including sample code to highlight some powerful features. You can learn more about Iceberg's Hive runtime by checking out the Hive section. Docker Images The fastesticeberg.apache.org Iceberg?데이터 버전 관리: Apache Iceberg는 사용자가 시간 경과에 따른 데이터의 변경 내용을 추적할 수 있는 데이터 버전 관리..
https://hive.apache.org/ Apache HiveApache Hive is a distributed, fault-tolerant data warehouse system that enables analytics at a massive scale. Hive Metastore(HMS) provides a central repository of metadata that can easily be analyzed to make informed, data driven decisions, and therefore ihive.apache.org HIVE? 대규모 데이터 세트를 SQL과 유사한 쿼리 언어인 HiveQL을 사용하여 처리하고 분석할 수 있도록 설계된 데이터 웨어하우스 인프라 Hadoop 에..