apache/hamilton
Apache Hamilton helps data scientists and engineers define testable, modular, self-documenting dataflows, that encode lineage/tracing and metadata. Runs and scales everywhere python does.
What it solves
Apache Hamilton은 데이터 변환 유향 비순환 그래프(DAG)를 구조화하고 관리하도록 설계된 경량 Python 라이브러리입니다. 변환을 표준화된 방식으로 조직하고, 데이터 흐름 정의와 실행을 분리하며, 코드 중복을 줄여 개념 증명 단계에서 프로덕션 단계로 이동하는 문제를 해결합니다.
How it works
사용자는 함수 매개변수로 의존성을 지정하는 일반 Python 함수를 작성하여 DAG를 정의합니다. Apache Hamilton은 이러한 정의를 기반으로 자동으로 DAG를 구축합니다. 라이브러리는 "정의"(로직)와 "실행"(드라이버)을 분리하여 동일한 DAG를 스크립트, 노트북, Airflow 파이프라인, FastAPI 서버 등 다양한 환경에서 포터블하게 사용할 수 있게 합니다.
Who it’s for
데이터 과학자, 엔지니어, 운영 담당자를 포함한 데이터 팀을 위해 설계되었습니다. 유지 보수가 용이한 ETL 파이프라인, ML 워크플로, LLM 애플리케이션 및 RAG 시스템을 구축하려는 팀에 적합합니다.
Highlights
- Portable Transformations: DAG는 인프라나 오케스트레이션 도구에 독립적이며, 로컬 개발 및 다양한 컨텍스트에서 재사용이 가능합니다.
- Detailed Observability: 실행을 시각화, 카탈로그화 및 모니터링할 수 있는 전용 UI를 제공하며, 라인리지와 트레이싱 기능을 포함합니다.
- Data Validation:
@check_output및 DataFrame 유사 객체에 대한 스키마 검증을 통한 출력 검증을 기본 지원합니다. - Modular Design: 여러 Python 모듈을 사용해 파이프라인을 조립하도록 장려하여 코드의 DRY와 단위 테스트가 용이합니다.