기존 PySpark 코드를 Spark Connect 프로토콜로 실행하는 Rust 기반 Apache Spark 대체 엔진
apache/datafusion-comet
Apache Arrow 컬럼형 데이터를 DataFusion 기반 Rust 엔진으로 처리해 Spark SQL과 DataFrame 연산을 코드 변경 없이 가속하는 Spark 가속기입니다.
- 스타
- 1,315
- 포크
- 411
- 열린 이슈
- 867
- 마지막 커밋
- 12시간 전
어떤 프로젝트인가요?
Apache DataFusion Comet은 Apache Spark용 가속기입니다. Spark 연산자와 표현식을 Apache Arrow 컬럼형 데이터를 직접 처리하는 구현으로 대체해, 쿼리 실행 시 기존 Spark 행 기반 엔진의 행별 처리 오버헤드를 줄입니다. 대부분의 연산자는 Apache DataFusion 기반의 네이티브 Rust 코드로 실행되며, 일부는 JVM에서 Arrow 배치를 처리합니다.
Comet은 Parquet 스캔(Spark에서 읽는 Iceberg 테이블 포함), 해시 및 범위 파티셔닝을 지원하는 Arrow-IPC 컬럼형 셔플, 해시·sort-merge·브로드캐스트 조인, 해시 집계, 다양한 Spark 표현식을 지원합니다. Spark 3.4, 3.5, 4.0, 4.1, 4.2를 지원하며, 해당 버전에 맞는 jar를 Spark classpath에 추가하고 플러그인을 활성화하면 설치할 수 있습니다.
이 프로젝트는 GPU나 기타 특수 가속기 없이 동일한 하드웨어에서 더 빠르게 실행하고자 하는 기존 Spark SQL, DataFrame, PySpark 워크로드를 대상으로 합니다.
핵심 기능
- 01Apache DataFusion 기반 네이티브 Rust로 Spark 연산자와 표현식 실행
- 02네이티브 Parquet 스캔 및 Spark에서 읽는 Iceberg 테이블 가속
- 03해시 및 범위 파티셔닝을 지원하는 Arrow-IPC 컬럼형 셔플
- 04해시, sort-merge, 브로드캐스트 조인 지원
- 05whole-stage codegen을 통해 Scala 및 Java 스칼라 UDF를 Comet 파이프라인에서 실행
- 06기존 Spark SQL, DataFrame, PySpark 코드를 변경 없이 사용
활용 사례
- 기존 Spark SQL 및 ETL 작업의 클라우드 또는 온프레미스 비용 절감
- Parquet 또는 Iceberg 데이터 레이크를 대상으로 하는 Spark 쿼리 가속
- 범용 CPU 클러스터에서 TPC-DS와 같은 대규모 분석 워크로드 실행
토픽
자주 묻는 질문
- datafusion-comet은(는) 무엇인가요?
- Apache Arrow 컬럼형 데이터를 DataFusion 기반 Rust 엔진으로 처리해 Spark SQL과 DataFrame 연산을 코드 변경 없이 가속하는 Spark 가속기입니다. Apache DataFusion Comet은 Apache Spark용 가속기입니다. Spark 연산자와 표현식을 Apache Arrow 컬럼형 데이터를 직접 처리하는 구현으로 대체해, 쿼리 실행 시 기존 Spark 행 기반 엔진의 행별 처리 오버헤드를 줄입니다. 대부분의 연산자는 Apache DataFusion 기반의 네이티브 Rust 코드로 실행되며, 일부는 JVM에서 Arrow 배치를 처리합니다.
- datafusion-comet은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- datafusion-comet은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- datafusion-comet은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. datafusion-comet의 마지막 커밋은 2026년 11월 5일입니다.
- datafusion-comet은(는) 어디에 사용할 수 있나요?
- 기존 Spark SQL 및 ETL 작업의 클라우드 또는 온프레미스 비용 절감 Parquet 또는 Iceberg 데이터 레이크를 대상으로 하는 Spark 쿼리 가속 범용 CPU 클러스터에서 TPC-DS와 같은 대규모 분석 워크로드 실행
- datafusion-comet은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/apache/datafusion-comet
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Python, Node.js, R, Rust, SQL 바인딩을 제공하는 Rust 기반의 고속 DataFrame 쿼리 엔진
배열 데이터를 테이블처럼 다뤄 Xarray 데이터셋을 SQL로 쿼리하는 Python 라이브러리로, DuckDB, Polars, DataFusion 및 ADBC 엔진에서 사용할 수 있습니다.
로그, 트레이스, 메트릭, 이벤트를 S3의 Delta Lake 테이블로 저장하고 PostgreSQL wire protocol로 쿼리하는 시계열 데이터베이스입니다.
이미지, 오디오, 비디오, 임베딩, 구조화 데이터를 대규모로 처리하는 Rust 코어 기반 고성능 Python 데이터 엔진입니다.
처음부터 엔드투엔드 데이터 파이프라인을 구축하며 데이터 엔지니어링을 배우는 무료 9주 온라인 과정입니다.