노드 추가 및 연결
워크플로우를 구성하는 노드를 추가하고 데이터 흐름을 연결하는 방법을 설명합니다.
노드 추가 방법
1. 퀵 추가 (Quick Add)
[Screenshot] 노드 추가 (Quick Add 패널)
왼쪽 패널의 Quick Add 섹션에서 원하는 유형의 노드를 캔버스로 드래그 앤 드롭합니다.
2. 컬렉션에서 가져오기
왼쪽 패널의 Collections 트리에서 이미 만들어둔 데이터셋이나 코드를 찾아 드래그 앤 드롭합니다. 재사용성을 높이는 가장 좋은 방법입니다.
3. 컨텍스트 메뉴
캔버스 빈 공간을 우클릭하여 메뉴를 열고, Add Dataset 또는 Add Code를 선택합니다.
4. 키보드 단축키
빠른 작업을 위해 다음 단축키를 사용할 수 있습니다.
- 데이터셋 노드 추가:
Ctrl(Cmd) + Shift + D - 코드 노드 추가:
Ctrl(Cmd) + Shift + C
노드 유형
데이터셋 노드 (Dataset Node)
데이터의 소스(Source) 또는 싱크(Sink) 역할을 합니다.
| 타입 | 설명 | 용도 |
|---|---|---|
| Delta Lake | Delta Lake 테이블 | 배치 데이터 처리, 버전 관리 |
| Kafka | Kafka 토픽 | 실시간 스트리밍 데이터 |
| DDS | DDS 인터페이스 | 실시간 분산 시스템 연동 |
| REST API | HTTP 엔드포인트 | 외부 API 호출 |
Delta Lake 노드 설정
- 테이블 이름: Delta Lake 테이블 경로
- 스키마: 컬럼 정의 (자동 추론 가능)
- 파티션 키: 데이터 분할 기준 컬럼
- 쓰기 모드: Append, Overwrite, Merge
Kafka 노드 설정
- 토픽: Kafka 토픽 이름
- 브로커: Kafka 브로커 주소
- 직렬화 포맷: JSON, Avro, Protobuf
- Consumer Group: (소스 노드인 경우)
코드 노드 (Code Node)
데이터를 변환하거나 처리하는 로직을 수행합니다.
| 타입 | 언어 | 용도 |
|---|---|---|
| Python | Python 3.x | 범용 데이터 처리, ML 모델 적용 |
| SQL | SQL | 데이터 변환, 집계, 조인 |
Python 노드 설정
- 스크립트: Python 코드 작성
- 패키지 의존성: 필요한 pip 패키지 목록
- 입력 변수: 입력 데이터셋 매핑
- 출력 변수: 출력 데이터셋 매핑
- 환경 변수: 런타임 환경 변수 설정
# Python 노드 예시
import pandas as pd
# 입력 데이터 로드
df = input_dataset.read()
# 데이터 변환
df['total'] = df['price'] * df['quantity']
df = df[df['total'] > 1000]
# 출력
output_dataset.write(df)
SQL 노드 설정
- 쿼리: SQL 쿼리 작성
- 입력 테이블 별칭: 입력 데이터셋을 테이블로 참조
- 출력 스키마: 결과 스키마 정의
-- SQL 노드 예시
SELECT
category,
SUM(amount) as total_amount,
COUNT(*) as order_count
FROM orders
WHERE order_date >= '2024-01-01'
GROUP BY category
ORDER BY total_amount DESC
노드 연결
데이터의 흐름을 정의하기 위해 노드들을 연결합니다.
- 선행 노드(Upstream)의 오른쪽 핸들(Output)에 마우스를 가져갑니다.
- 클릭 후 드래그하여 후행 노드(Downstream)의 왼쪽 핸들(Input)에 놓습니다.
- 연결선(Edge)이 생성되며 데이터 의존성이 설정됩니다.
연결 규칙
- 데이터셋 노드 → 코드 노드: 데이터 읽기 (소스)
- 코드 노드 → 데이터셋 노드: 데이터 쓰기 (싱크)
- 코드 노드 → 코드 노드: 중간 결과 전달
자동 매핑
코드 노드와 데이터셋 노드를 연결하면, 코드 내의 입출력 변수가 데이터셋 ID와 자동으로 매핑될 수 있습니다. (설정 패널에서 확인 가능)
노드 관리
- 이동: 노드를 드래그하여 위치를 변경합니다.
- 복제: 노드를 선택하고 우클릭 메뉴의 Duplicate를 선택하거나
Ctrl+C,Ctrl+V를 사용합니다. - 삭제: 노드를 선택하고
Delete키를 누르거나 우클릭 메뉴의 Delete를 선택합니다. - 정렬: 여러 노드를 선택하고 툴바의 Auto Layout 버튼을 사용하여 깔끔하게 정리합니다.
- 그룹 선택:
Shift+ 드래그로 여러 노드를 한 번에 선택합니다.
