Transform Nodes
Transform 단계는 Extract 단계에서 수집된 데이터를 목적에 맞는 형태로 가공 및 정규화하는 과정이다.
즉, “데이터를 어떻게 변환할 것인가”를 정의하는 단계이며, 이후 Load 및 온톨로지 생성 과정의 품질에 직접적인 영향을 미친다.
시스템에서는 다양한 데이터 변환 요구를 처리하기 위해 다음과 같은 Transform 노드를 제공한다.
Add Constant Column
- 모든 레코드에 대해 고정된 값을 가지는 새로운 컬럼을 추가하는 노드
- 데이터 분류, 상태값 지정, 메타 정보 추가 등에 활용된다
Drop Columns
- 불필요하거나 사용하지 않는 컬럼을 제거하는 노드
- 데이터 크기 최적화 및 이후 처리 단계의 복잡도 감소에 기여한다
Rename Columns
- 기존 컬럼명을 의미에 맞게 변경하는 노드
- 온톨로지 구조 또는 표준 스키마에 맞추기 위한 전처리 단계로 사용된다
Select Columns
- 지정한 컬럼만 유지하고 나머지는 제거하는 노드
- 필요한 데이터만 선별하여 처리 효율성과 가독성을 향상시킨다
Apply Expression
- 수식(Expression)을 기반으로 새로운 컬럼을 생성하거나 기존 컬럼을 가공하는 노드
- 데이터 변환, 계산, 조건 처리 등 다양한 로직을 적용할 수 있다
(예: 값 계산, 문자열 처리, 조건 기반 값 생성 등)
Cast
- 컬럼의 데이터 타입(Data Type)을 변환하는 노드
- 예: 문자열 → 숫자, 숫자 → 날짜 등
- 데이터 정합성 확보 및 후속 처리 단계의 오류 방지를 위해 사용된다
Parse JSON String
- JSON 문자열 형태로 저장된 데이터를 파싱하여,
내부 필드를 개별 컬럼으로 분리하는 노드 - 비정형 또는 반정형 데이터를 구조화된 형태로 변환하는 데 유용하다
Parse Document
LLM 기반(필요 시 OCR 병행) 문서 파서. 비정형 문서를 markdown으로 추출하며 비동기 잡으로 동작한다.
자세한 설정은 Parse Document 참고.
LLM Operator
LLM 모델을 사용해 입력 데이터에 시스템 프롬프트를 적용하고 구조화된 JSON을 출력하는 일반 변환 노드.
자세한 설정은 LLM Operator 참고.
Notebook Transform
Jupyter 셀 편집기 + 파라미터 바인딩으로 Python 데이터 변환을 구성한다. Custom Node보다 우선 권장.
자세한 설정은 Notebook Transform 참고.
설계 가이드
-
Transform 단계는 단순 가공을 넘어, 온톨로지 구조에 적합한 데이터 형태를 만드는 핵심 단계이다.
-
불필요한 데이터는 사전에 제거하고,
필요한 데이터는 명확한 의미를 가지도록 정제하는 것이 중요하다. -
컬럼명, 데이터 타입, 값의 형태는 이후 오브젝트 및 속성 정의와 일관되도록 설계해야 한다.
-
복잡한 변환 로직은 여러 Transform 노드를 조합하여 단계적으로 구성하는 것을 권장한다.
Last updated on