코드
코드는 파이프라인에서 사용되는 재사용 가능한 코드 아티팩트입니다. D.Hub에서는 Python과 SQL 스크립트를 코드 리소스로 등록하여 파이프라인 단계(Step)에서 참조하고 실행할 수 있습니다.
코드 개요
코드 리소스는 다음과 같은 역할을 합니다.
- 재사용성: 한 번 작성한 코드를 여러 파이프라인에서 반복 사용할 수 있습니다.
- 버전 관리: 코드 변경 이력이 버전별로 관리됩니다.
- 분류 체계: 태그를 통해 코드를 체계적으로 분류합니다.
- 복제: 코드를 복제하여 같은 컬렉션 또는 다른 컬렉션에 사본을 만들 수 있습니다.
- 컬렉션 연동: 컬렉션에 포함하여 관련 데이터셋, 파이프라인과 함께 그룹으로 관리합니다.
지원 언어
D.Hub 코드 아티팩트가 지원하는 프로그래밍 언어는 다음과 같습니다.
| 언어 | 용도 | 설명 |
|---|---|---|
| Python | 데이터 처리, AI/ML | Pandas, Polars, PyArrow 등 데이터 처리 라이브러리 활용 |
| SQL | 데이터 조회, 변환 | 분석 데이터베이스 쿼리 및 데이터 변환 작업 |
언어(python / sql)는 생성 시 선택하며, 생성 후에는 변경할 수 없습니다(코드 탭 툴바에 배지로 표시).
코드 상세 화면
컬렉션 트리에서 코드 아이템을 선택하면 오른쪽 패널에 상세 정보가 표시됩니다. 상세 화면은 다음 탭으로 구성됩니다.
| 순서 | 탭 | 내용 |
|---|---|---|
| 1 | 개요 | 메타데이터 확인·편집 |
| 2 | 코드 | Monaco 에디터, 툴바, (Python) 패키지 |
| 3 | 버전 기록 | 버전 목록·비교·복원·다운로드 |
| 4 | 공유 및 권한 | 사용자·그룹 권한 (공유 및 권한 참고) |
| 5 | 입력 | 코드 입력(파라미터) 정의 — 편집 모드에서 표시 |
개요 탭 (메타데이터)
코드의 메타데이터를 확인하고, 편집 모드에서 일부 필드를 수정합니다.
| 필드 | 설명 | 편집 |
|---|---|---|
| 이름 (Name) | 코드의 고유 식별자 | 생성 후 변경 불가 |
| 별칭 (Alias) | 사용자에게 표시될 별칭(최대 128자) | 가능 |
| 태그 (Tags) | 검색·분류용 태그 | 가능 (AI 제안 지원) |
| 설명 (Description) | 코드 설명 | 가능 (AI 제안 지원) |
| 패키지 | (Python) 의존 패키지 목록 | 코드 탭에서 편집 |
| 컬렉션 / ID / 생성·수정 일시 | 소속·식별자·작성자 정보(소유자 호버 미리보기) | 변경 불가 |
코드 이름은 파이프라인 Step의 script 필드에서 참조됩니다. 직관적이고 일관된 네이밍 규칙을 사용하면 파이프라인 구성 시 코드를 찾기 쉽습니다.
코드 탭 (에디터)
Monaco Editor 기반의 코드 에디터를 제공하며, 읽기 모드와 편집 모드를 지원합니다. 기본은 읽기 모드이며, 상세 헤더의 편집 버튼을 눌러 편집 모드로 전환합니다(편집 모드에서 하단 액션 바의 변경사항 저장으로 저장).
- 구문 강조: Python과 SQL 각각에 맞는 구문 강조가 적용됩니다.
- 줄 번호: 코드 왼쪽에 줄 번호가 표시됩니다.
- 코드 복사: 툴바의 코드 복사 버튼으로 전체를 클립보드에 복사합니다.
- 포맷: 툴바의 포맷 버튼으로 코드를 자동 정렬합니다.
- 에디터 내 검색: 툴바의 검색 입력(
코드에서 검색...)으로 텍스트를 찾습니다.
AI 코드 어시스턴트
코드 에디터에는 AI 기반의 코드 생성·수정 기능이 내장되어 있습니다.
- AI 프롬프트: 툴바의 AI 버튼 또는 단축키 **
⌘I(macOS) /Ctrl+I(Windows)**로 AI 프롬프트를 엽니다. 선택 영역이 없으면 전체 프롬프트, 선택 영역이 있으면 인라인 챗으로 열립니다. - 코드 선택 메뉴: 코드를 선택하면 나타나는 플로팅 메뉴의 AI 편집으로 선택 영역을 수정 요청할 수 있습니다.
- 삽입 / 취소 / 다시 시도: AI 결과를 검토한 뒤 삽입으로 적용하거나 취소하고, 다시 시도로 재생성할 수 있습니다.
Python 패키지
Python 코드의 경우, 코드 탭에 패키지 입력 섹션이 표시됩니다. 코드 실행에 필요한 패키지를 쉼표로 구분해 지정합니다(예: polars,deltalake,pandas). SQL 코드에는 표시되지 않습니다.
입력 탭 (Inputs)
편집 모드에서 코드의 입력(파라미터) 을 정의할 수 있는 탭입니다. 파이프라인에서 이 코드를 단계로 사용할 때 전달할 입력 항목을 구성합니다.
코드 생성 및 편집
템플릿 마법사로 생성
코드는 컬렉션 상세 헤더의 항목 추가 ▾ → 코드 → Python / SQL 메뉴로 생성합니다. 메뉴를 선택하면 템플릿 마법사가 열립니다.
- 기본 정보: 이름·별칭·설명·태그를 입력합니다.
- 코드 편집: 에디터에서 스크립트를 작성합니다(AI 어시스턴트 사용 가능).
- 검토: 입력 내용을 확인하고 마지막 단계에서 생성합니다.
자세한 마법사 사용법은 템플릿 기반 생성 - 코드 마법사 문서를 참고하세요.
코드 수정
코드 탭에서 편집 버튼으로 편집 모드에 들어가 수정한 뒤 변경사항 저장을 누르면 새 버전이 생성됩니다. 이전 버전은 유지되므로 필요 시 되돌릴 수 있습니다.
코드 복제
상세 헤더의 복제 액션으로 복제 대화상자를 엽니다. 대상 컬렉션(기본값은 현재 컬렉션)과 새 이름을 지정하고, 별칭·설명·태그를 함께 설정할 수 있습니다. 별칭은 원본 뒤에 _copy가 붙어 기본 제안됩니다.
버전 관리
코드 리소스는 버전별로 저장됩니다.
- 버전 목록: 코드의 모든 버전을 작성자·시각·최신 배지와 함께 확인합니다.
- 버전 간 비교: 두 버전을 선택하면 Monaco Diff 뷰어로 변경 내역을 비교합니다. 나란히 보기 / 통합 보기를 전환할 수 있으며, 추가·삭제 줄 수가 함께 표시됩니다.
- 버전 복원하기: 이전 버전을 현재 버전으로 복원합니다(확인 후 적용).
- 다운로드: 특정 버전의 코드 파일을
.py또는.sql로 내려받습니다.
코드를 수정하면 해당 코드를 참조하는 파이프라인의 동작에 영향을 줄 수 있습니다. 수정 전에 관련 파이프라인을 확인하세요.
자세한 버전 관리 방법은 버전 관리 문서를 참고하세요.
파이프라인에서의 활용
코드 아티팩트는 파이프라인 Step의 script 필드를 통해 참조됩니다. 하나의 코드가 여러 파이프라인에서 재사용될 수 있으며, 파이프라인 실행 시 해당 코드가 로드되어 실행됩니다.
파이프라인 구성에 대한 자세한 내용은 파이프라인 (컬렉션) 문서를 참고하세요.
다음 단계
- 파이프라인 (컬렉션) — 컬렉션 내 파이프라인 관리
- 버전 관리 — 리소스 버전 관리 시스템
- 템플릿 기반 생성 - 코드 마법사 — 코드 생성 마법사 사용법