본문으로 건너뛰기
버전: v0.1.0

파이프라인 (Pipelines)

D.Hub의 파이프라인은 노드 기반 비주얼 편집기로 데이터 처리 워크플로우를 설계하고 실행하는 기능입니다. 코드와 데이터셋을 노드로 배치하고, 연결선으로 데이터 흐름을 정의하여 복잡한 데이터 처리 과정을 시각적으로 구성할 수 있습니다.

핵심 기능

파이프라인 모듈은 다음 기능을 제공합니다:

  • 비주얼 워크플로우 편집: 드래그 앤 드롭으로 노드를 배치하고 연결하여 데이터 흐름을 설계합니다
  • 다양한 노드 유형: Dataset 노드(Delta Lake, Kafka 등)와 Code 노드(Python, SQL)를 조합합니다
  • 자동 실행 관리: 워크플로우 엔진을 통해 파이프라인을 배포하고, 스케줄링 및 모니터링을 수행합니다
  • 실행 이력 추적: 배치 단위로 실행 기록을 관리하고, 스텝별 트레이스를 확인합니다

파이프라인 목록 화면

파이프라인 목록 페이지(/pipelines)에서 생성된 파이프라인들을 관리합니다.

뷰 모드

설명
카드 뷰파이프라인을 카드 형태로 표시하며, 최근 실행 상태를 시각적으로 확인
테이블 뷰파이프라인을 목록 형태로 표시하며, 정렬 및 상세 정보를 한눈에 확인

상태별 필터

파이프라인을 상태별로 필터링하여 원하는 항목만 조회할 수 있습니다:

상태설명
Idle실행 대기 중 (한 번도 실행되지 않았거나 실행 완료 후 대기)
Running현재 실행 중
Scheduled스케줄이 등록되어 주기적으로 실행 예정
Success마지막 실행이 성공
Failed마지막 실행이 실패

아키텍처 개요

파이프라인은 편집부터 실행 결과 확인까지 다음과 같은 흐름으로 동작합니다:

구성 요소

구성 요소역할
Editor노드 기반 비주얼 편집기에서 워크플로우를 설계
Workflow Engine저장된 파이프라인 정의를 워크플로우로 변환하여 실행
Batch파이프라인의 개별 실행 단위로, 각 실행에 고유 ID가 부여
Traces각 스텝의 실행 로그, 소요 시간, 입출력 정보를 기록

노드 타입

파이프라인은 두 가지 핵심 노드 타입으로 구성됩니다:

Dataset Node (입력/출력)

데이터의 소스(Source) 또는 싱크(Sink) 역할을 합니다.

타입설명
Delta LakeDelta Lake 테이블을 읽거나 쓰는 배치 데이터 처리
KafkaKafka 토픽을 통한 실시간 스트리밍 데이터 연동
DDSDDS 인터페이스를 통한 실시간 분산 시스템 연동
REST API외부 HTTP 엔드포인트 호출

Code Node (처리 로직)

입력 데이터를 변환·처리하는 로직을 수행합니다.

타입용도
Python범용 데이터 처리, ML 모델 적용, 외부 API 호출
SQL데이터 변환, 집계, 조인, 필터링

기본 파이프라인 패턴

가장 기본적인 파이프라인 구성은 입력 → 처리 → 출력 패턴입니다:

일반적인 사용 사례

패턴입력처리출력설명
ETLDelta LakePython/SQLDelta Lake데이터 추출·변환·적재
실시간 변환KafkaPythonKafka스트리밍 데이터 실시간 처리
집계 보고Delta LakeSQLDelta Lake일별/월별 통계 집계
ML 추론Delta LakePythonDelta Lake학습된 모델로 예측 수행

파이프라인 설계 시 작은 단위로 나누어 테스트한 후 결합하면, 디버깅과 유지보수가 훨씬 쉬워집니다.

주요 화면

화면경로설명
파이프라인 목록/pipelines전체 파이프라인 조회, 생성, 삭제
워크플로우 편집기/pipelines/edit노드 기반 비주얼 편집 및 실행

다음 단계