코드
컬렉션에서 Python 또는 SQL 코드를 만들고 버전·태그·복제본을 관리합니다. 만든 코드는 파이프라인 단계에서 참조해 실행합니다.
지원 언어
D.Hub에서는 Python과 SQL 코드를 저장합니다.
| 언어 | 용도 | 설명 |
|---|---|---|
| Python | 데이터 처리, AI/ML | Pandas, Polars, PyArrow 같은 데이터 처리 라이브러리를 사용합니다. |
| SQL | 데이터 조회, 변환 | 분석 데이터베이스 쿼리와 데이터 변환 작업을 작성합니다. |
언어(python / sql)는 생성할 때 선택하며 생성 후에는 변경할 수 없습니다(코드 탭 툴바에 배지로 표시).
코드 상세 화면
컬렉션 트리에서 코드 항목을 선택하면 오른쪽 패널에 상세 정보가 나타납니다. 상세 화면은 다음 탭으로 구성됩니다.
| 순서 | 탭 | 내용 |
|---|---|---|
| 1 | 개요 | 메타데이터를 확인하고 편집합니다. |
| 2 | 코드 | 코드 편집기와 툴바를 사용하고 Python 패키지를 관리합니다. |
| 3 | 버전 기록 | 버전 목록을 확인하고 버전을 비교·복원·다운로드합니다. |
| 4 | 공유 및 권한 | 사용자·그룹 권한을 관리합니다. 자세한 절차는 공유 및 권한에서 확인합니다. |
| 5 | 입력 | 편집 모드에서 코드 입력 파라미터를 정의합니다. |
개요 탭 (메타데이터)
코드의 메타데이터를 확인하고 편집 모드에서 일부 필드를 수정합니다.
| 필드 | 설명 | 편집 |
|---|---|---|
| 이름 | 코드의 고유 식별자입니다. | 생성 후 변경할 수 없습니다. |
| 별칭 | 사용자에게 표시되는 이름이며 최대 128자입니다. | 편집합니다. |
| 태그 | 검색과 분류에 사용합니다. | 편집하거나 AI 제안을 사용합니다. |
| 설명 | 코드의 용도를 기록합니다. | 편집하거나 AI 제안을 사용합니다. |
| 패키지 | Python 의존 패키지 목록을 표시합니다. | 코드 탭에서 편집합니다. |
| 컬렉션 / ID / 생성·수정 일시 | 소속·식별자·작성자 정보를 표시합니다. | 변경할 수 없습니다. |
코드 이름은 파이프라인 단계의 script 필드에서 참조됩니다. 팀에서 정한 이름 규칙을 적용하면 코드 목록과 파이프라인 설정에서 같은 기준으로 찾습니다.
코드 탭 (에디터)
코드 편집기는 읽기 모드와 편집 모드를 지원합니다. 기본은 읽기 모드입니다. 상세 헤더의 편집 버튼을 눌러 편집 모드로 전환하고 하단 작업 막대의 변경사항 저장으로 저장합니다.
- 구문 강조: Python과 SQL 각각에 맞는 구문 강조가 적용됩니다.
- 줄 번호: 코드 왼쪽에 줄 번호가 표시됩니다.
- 코드 복사: 툴바의 코드 복사 버튼으로 전체를 클립보드에 복사합니다.
- 포맷: 툴바의 포맷 버튼으로 코드를 자동 정렬합니다.
- 에디터 내 검색: 툴바의 코드에서 검색... 입력란에서 텍스트를 찾습니다.
AI 코드 생성과 AI 편집
코드 에디터에는 AI 기반 코드 생성·수정 기능이 내장돼 있습니다.
- AI 코드 생성: 툴바의 AI 버튼 또는
⌘I(macOS) /Ctrl+I(Windows)로 자연어 요청을 입력합니다. 선택 영역이 없으면 새 코드를 생성하고, 선택 영역이 있으면 해당 부분을 수정하는 입력창이 열립니다. - 코드 선택 메뉴: 코드를 선택하면 나타나는 플로팅 메뉴에서 AI 편집을 눌러 선택 영역의 수정을 요청합니다.
- 삽입 / 취소 / 다시 시도: AI 결과를 검토한 뒤 삽입으로 적용하거나 취소합니다. 새 결과가 필요하면 다시 시도를 누릅니다.
Python 패키지
Python 코드는 코드 탭에 패키지 입력 섹션이 나타납니다. 코드 실행에 필요한 패키지를 쉼표로 구분해 지정합니다(예: polars,deltalake,pandas). SQL 코드에는 나타나지 않습니다.
커넥터 바인딩 삽입
Python 코드 편집 모드에서는 툴바의 커넥터 버튼으로 등록된 커넥터를 코드에 바인딩합니다. 버튼을 누르면 커넥터와 스크립트에서 쓸 변수명을 고르는 팝오버가 열립니다. 현재 줄에는 @use_connector 데코레이터가 삽입됩니다. 에디터에서 @use_를 입력하면 @use_connector 자동완성도 제안됩니다. SQL 코드에는 이 버튼이 표시되지 않습니다.
모델(
@use_llm)·지식(@use_rag) 데코레이터를 코드에 삽입하는 UI는 에이전트·파이프라인의 코드 편집 화면에서 제공됩니다.
입력 탭
편집 모드에서 코드의 **입력(파라미터)**을 정의하는 탭입니다. 파이프라인에서 이 코드를 단계로 사용할 때 전달할 입력 항목을 구성합니다.
코드 생성 및 편집
코드 만들기
- 컬렉션 또는 폴더에서 항목 추가 ▾ → 코드 → Python / SQL을 선택합니다.
- 코드 만들기 창의 기본 정보에서 이름·별칭·설명·태그를 입력합니다. Python 코드에는 필요한 패키지를 쉼표로 구분해 입력합니다.
- 다음을 누르고 코드 단계에서 자동으로 채워진 기본 코드를 수정합니다. AI 코드 생성으로 새 코드를 만들거나 코드를 선택한 뒤 AI 편집으로 해당 부분을 수정할 수 있습니다.
- 코드를 검토하고 생성을 누릅니다.
만든 코드는 선택한 컬렉션이나 폴더의 목록과 트리에 나타납니다. 선택한 언어는 창에서 변경할 수 없습니다. 컬렉션이나 폴더에서 창을 연 경우에는 저장 위치도 고정됩니다.
기본 코드 형식
Python 코드는 Polars DataFrame을 입력받고 output 키에 결과 DataFrame을 담아 반환합니다.
import polars as pl
def run(input, *, options=None, contexts=None):
output = input.drop("column_name")
return {"output": output}
SQL 코드는 input을 입력 테이블 이름으로 사용하며 쿼리 결과가 output으로 전달됩니다.
SELECT *
FROM input
WHERE column_name IS NOT NULL
실행 규약과 지원 기능은 Python 코드 참조와 SQL 참조에서 확인합니다.
코드 수정
코드 탭에서 편집 버튼으로 편집 모드에 들어가 수정한 뒤 변경사항 저장을 누르면 새 버전이 생성됩니다. 이전 버전은 그대로 남으며 필요하면 복원합니다.
코드 복제
상세 헤더에서 복제를 누르면 복제 창이 열립니다. 대상 컬렉션과 새 이름을 지정하고 별칭·설명·태그를 함께 설정합니다. 별칭에는 원본 값 뒤에 _copy가 붙은 값이 제안됩니다.
버전 관리
코드 변경 내용은 버전별로 저장됩니다.
- 버전 목록: 코드의 모든 버전을 작성자·시각·최신 배지와 함께 확인합니다.
- 버전 간 비교: 버전 하나를 선택하면 선택한 버전과 바로 이전 버전의 변경 내역을 변경 비교 화면에서 확인합니다. 가장 오래된 버전에는 비교할 이전 버전이 없어 선택한 내용만 표시됩니다. 나란히 보기 / 통합 보기를 전환하며 추가·삭제 줄 수도 함께 확인합니다.
- 버전 복원하기: 이전 버전을 현재 버전으로 복원합니다(확인 후 적용).
- 다운로드: 특정 버전의 코드 파일을
.py또는.sql로 내려받습니다.
코드를 수정하면 이를 참조하는 파이프라인의 동작이 바뀔 수 있습니다. 수정 전에 관련 파이프라인을 확인합니다.
버전 비교와 복원 절차는 버전 관리에서 확인합니다.
파이프라인에서 활용하기
파이프라인 노드는 script 필드로 코드를 참조합니다. 하나의 코드를 여러 파이프라인에서 재사용하며 파이프라인을 실행하면 해당 코드가 실행됩니다.
파이프라인 구성 요소 라이브러리 → 기존 코드를 캔버스로 끌어다 놓고 코드 참조 삽입에서 같은 컬렉션의 Code를 고릅니다. 만들어진 단계는 원본 Code를 공유 참조하며, 노드의 사용 수와 컬렉션에서 보기로 다른 사용처와 원본 위치를 확인합니다. 파이프라인 안에서 다른 이름으로 저장한 코드는 독립 사본이므로 이후 원본 변경의 영향을 받지 않습니다.
컬렉션에서 파이프라인과 코드를 함께 관리하는 방법은 컬렉션의 파이프라인에서 확인합니다.
다음 단계
- 컬렉션 파이프라인 — 컬렉션 안의 파이프라인을 관리합니다.
- 컬렉션 버전 기록 — 코드 변경 이력을 확인하고 이전 버전을 복원합니다.
- Python 코드 참조 — Python 코드의 입력·출력 규약을 확인합니다.