본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 26. 03:04

Show HN: Hamilton UI – 데이터 파이프라인을 위한 관측성(observability), 계보(lineage) 및

요약

Apache Hamilton UI는 데이터 파이프라인의 관측성, 계보 및 카탈로그 기능을 제공하는 새로운 도구입니다. 개발 및 운영 환경에서 데이터 흐름을 모니터링하고 디버깅하여 소프트웨어 개발 생명주기 전반의 효율성을 높이는 것을 목표로 합니다.

핵심 포인트

  • 데이터/아티팩트의 실행 추적 및 관측성 제공
  • 코드와 데이터 간의 연결 관계(계보) 시각화
  • 실행 결과 및 성능 비교를 위한 카탈로그 기능
  • Docker를 활용한 간편한 로컬 설정 및 배포 지원

이곳에는 새로운 Apache Hamilton UI를 위한 코드가 포함되어 있습니다. 시작하기 및 기능에 대한 개요는 이 문서를 참조하십시오. 더 자세한 포스트와 소개를 보려면 저희 블로그 포스트를 확인하세요.

Apache Hamilton UI는 다음과 같은 기능을 제공하는 시스템입니다:

  • 관련 메타데이터를 포함한 실행 추적 (Execution tracking)

  • 이를 저장 및 관리하기 위한 영구 데이터베이스 (Persistent database) 제공

  • 읽기/쓰기/인증을 허용하는 서버 제공

  • 데이터/아티팩트 관측성 (Data/artifact observability): 웹 인터페이스를 통해 Apache Hamilton 실행 및 특정 함수 결과/코드에 대한 텔레메트리(telemetry)/관측성(observability)을 제공합니다.

  • 계보 및 출처 (Lineage & provenance): 코드와 데이터가 어떻게 연결되어 있는지 빠르게 검사할 수 있습니다.

  • 카탈로그 (Catalog): 모든 것이 관측되고 카탈로그화되어, 무엇이 존재하고 언제 실행되었는지 빠르게 검색하고 찾을 수 있습니다.

이 UI는 개발 (development)운영 (production) 환경 모두에서 Apache Hamilton 데이터 흐름(dataflows)을 모니터링/디버깅하기 위한 것입니다. 목표는 데이터 흐름 작성자가 소프트웨어 개발 생명주기(software development lifecycle)의 모든 단계에서 더 빠르게 이동할 수 있도록 하는 것입니다.

이러한 기능 중 일부에 대한 개요를 보려면 이 짧은 영상을 시청하십시오.

무엇이 느린지 확인(왼쪽), 오류를 정확히 파악(가운데), 실행 성능 비교(오른쪽)

실행에 대한 데이터 시각화(왼쪽), 실행에 사용된 코드 추적(가운데), 실행 간 데이터 비교(오른쪽)

연결 방식 확인: 상류/하류(upstream/downstream)가 무엇인지(왼쪽), 코드를 시각적으로 탐색(오른쪽)

생성된 아티팩트 이해(왼쪽), 피처(features) 및 사용 시점 찾기(오른쪽)

설정 방법에 대한 이 영상 가이드를 시청할 수 있습니다.

Docker가 실행 중인지 확인하십시오:

# 아직 클론하지 않았다면 저장소를 클론하세요
git clone https://github.com/apache/hamilton
# UI 디렉토리로 이동하세요
...

Docker가 실행되면 http://localhost:8242로 이동하여 이메일과 프로젝트를 생성한 다음, Apache Hamilton과 통합하는 지침을 따르십시오.

더 자세한 가이드는 여기서 찾을 수 있습니다.

아키텍처는 간단합니다.

트래킹 서버(tracking server)는 Postgres에 데이터를 저장하며, 모든 Blob 데이터는 S3에 저장합니다. 로컬 모드(local mode)에서는 Docker 볼륨(Docker volume)에 저장됩니다. 프론트엔드(frontend)는 간단한 React 애플리케이션입니다. 몇 가지 인증/ACL(Access Control List) 기능이 있지만, 기본값은 로컬/미인증(open) 상태입니다. 더 맞춤화된 인증이 필요한 경우 저희에게 문의해 주세요.

구조에는 UI를 CLI에서 쉽게 배포하고 서비스할 수 있도록 하기 위한 약간의 기교가 포함되어 있습니다.

backend/hamilton_ui에서 backend/server로 연결되는 심볼릭 링크(symlink)를 생성하여, Django의 구조를 따르면서 동시에 hamilton_ui로 임포트(import)할 수 있도록 했습니다. (이 부분은 언젠가 변경되어야 하겠지만, 지금은 그럴 가치가 없습니다).

배포하려면 UI 디렉토리에 있는 admin.py 스크립트를 사용하십시오.

이 스크립트는 다음을 수행합니다:

  • 프론트엔드(frontend) 빌드
  • 빌드된 파일을 build/ 디렉토리로 복사
  • PyPI의 apache-hamilton-ui 패키지로 게시

그 후 apache-hamilton[ui]를 설치한 뒤 hamilton ui 명령어로 실행할 수 있습니다. 참고로, 이를 실행하려면 pip install apache-hamilton[sdk]로 설치할 수 있는 hamilton_sdk 패키지가 필요합니다.

개발 시에는 다음을 실행해야 합니다:

cd hamilton/ui
./dev.sh --build # 전체 빌드
./dev.sh # Docker 이미지를 가져오되 로컬 코드를 사용

프론트엔드 빌드를 위해서는 Docker에 약 8GB의 메모리가 할당되어야 합니다. 이 문제에 직면한다면 Docker 메모리 할당량을 9GB 이상으로 높이십시오.

프로덕션(production) 빌드를 위해서는 다음을 실행해야 합니다:

cd hamilton/ui
./run.sh # Docker에서 가져와 실행
./run.sh --build # 프로덕션용 이미지 재빌드

Docker 이미지에 불필요한 파일이 추가되지 않도록 backend/dist/ 디렉토리를 정리하는 것이 좋습니다.

Docker Hub에 푸시(push)하는 방법:

# 필요한 경우 태그 재설정(retag)
docker tag local-image:tagname dagworks/ui-backend:VERSION
# 빌드된 이미지 푸시
...
# 필요한 경우 태그 재설정(retag)
docker tag local-image:tagname dagworks/ui-frontend:VERSION
# 빌드된 이미지 푸시
...

AI 자동 생성 콘텐츠

본 콘텐츠는 HN Show HN (AI)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0