Extract Nodes
Extract 단계는 파이프라인에서 데이터를 외부 소스로부터 수집하는 단계로, 전체 ETL 과정의 시작 지점에 해당한다.
즉, “어디에서 데이터를 가져오는가”를 정의하는 노드이다.
시스템에서는 다음과 같은 Extract 노드를 제공한다.
Retrieve Data (DB)
- SQL 기반 데이터 소스(예: RDBMS)로부터 데이터를 조회하는 노드
- 사전에 정의된 데이터베이스 연결을 기반으로 쿼리를 실행하여 데이터를 가져온다
- 사용자는 필요한 데이터를 조회하기 위해 직접 SQL 쿼리를 작성할 수 있다
- DB/HTTP 등 쿼리 커넥션 전용이며, 파일(스토리지) 소스는 아래 Retrieve Data (File) 노드를 사용한다
주요 설정 항목
| 필드 | 필수 | 설명 |
|---|---|---|
| Connection | Yes | 사전 등록된 DB 연결을 선택한다. 연결 종류에 따라 하위 입력 항목이 동적으로 노출된다. |
| Options | No | 연결 종류별 추가 옵션을 JSON 형식으로 지정한다. |
기존에 이 노드에 파일(스토리지) 커넥션을 설정해 둔 파이프라인은 배포가 차단된다. Retrieve Data (File) 노드로 교체해야 하며, 자세한 절차는 파일 커넥션 마이그레이션 가이드를 참고한다.
Retrieve Data (File)
- S3, Azure Blob, SharePoint, Google Sheets 등 파일시스템(스토리지) 소스로부터 파일을 읽어오는 노드
- 디렉토리 단위로 여러 파일을 일괄 수집하거나, 단일 파일을 지정하여 가져올 수 있다
- Open API의 파일 업로드 실행과 연동되는
uploaded_file커넥터도 지원한다
주요 설정 항목
| 필드 | 필수 | 설명 |
|---|---|---|
| Connection | Yes | 사전 등록된 파일시스템 커넥션을 선택한다(s3, azure_blob, azure_blob_ak, sharepoint, google_sheets, uploaded_file). |
| Directory / File | Yes | 디렉토리 또는 단일 파일 URI. 예: s3://bucket/prefix/, s3://bucket/a.parquet. |
| Include Pattern | No | 가져올 파일명 glob 패턴. 쉼표로 여러 개 지정 가능(예: *.pdf, reports/*.csv). 디렉토리 listing 에만 적용된다. |
| Exclude Pattern | No | 제외할 파일명 glob 패턴. 쉼표로 여러 개 지정 가능(예: tmp/*, *_SUCCESS). 디렉토리 listing 에만 적용된다. |
uploaded_file 커넥터를 사용하면 Open API 파일 업로드 실행 시 파일 경로가 자동으로 주입되며, Directory / File 값은 읽기 전용으로 표시된다. 자세한 내용은 Run with File을 참고한다.
Retrieve Data (HTTP)
- 외부 API를 통해 데이터를 수집하는 노드
- OAuth2 인증 방식을 사용하는 API와 연동할 수 있다
인증 및 연결 설정
- API 호출 시 인증이 필요한 경우, 사전에 [파이프라인 > 데이터 관리] 메뉴에서 Connection 인증 정보를 설정해야 한다
- 설정된 인증 정보는 파이프라인 내에서 재사용 가능하다
주요 설정 항목
| 필드 | 필수 | 설명 |
|---|---|---|
| API Url | Yes | API 기본 URL. |
| Endpoint | Yes | 엔드포인트 경로. |
| Method | Yes | GET / POST / PUT 중 선택. |
| OAuth Connection ID | No | 사전 등록된 OAuth2 연결을 선택한다. |
| Data | No | 요청 본문(Request Body). |
| Parameters | No | 쿼리 파라미터. |
| Headers | No | JSON 형식의 요청 헤더. |
Generate Data
- 외부 소스 없이 합성(synthetic) 데이터를 생성하는 노드
- 데이터 소스 연결 없이도 후속 노드(Transform, Load 등)를 테스트할 수 있도록 지원하며, 프로토타이핑이나 파이프라인 검증 용도로 활용된다
- 내장된 다양한 생성기(이름·주소·이메일·전화번호·직업·날짜·숫자·패턴·Enum·불리언·색상 등)에서 컬럼별로 선택할 수 있다
주요 설정 항목
| 필드 | 필수 | 설명 |
|---|---|---|
| Row Count | Yes | 생성할 행 수. 프리뷰는 최대 100행으로 제한된다. |
| Locale | No | 데이터 로케일(예: ko_KR, en_US). 일부 생성기는 영문 전용이므로 로케일과 무관하게 영문이 생성된다. |
| Reproducible Seed | No | 재현 가능한 결과를 위한 정수 시드. 설정 시 동일 입력에 대해 동일한 데이터를 생성한다. |
| Columns | Yes | 컬럼 정의 목록. 각 컬럼은 아래 하위 필드를 가진다. |
각 컬럼의 하위 필드:
| 필드 | 필수 | 설명 |
|---|---|---|
| Name | Yes | 컬럼 이름. |
| Provider | Yes | 사용할 생성기(예: 이름, 이메일, 주소, 날짜·시간, 정수 등). |
| Percent Nulls | No | 0 ~ 100(%) 범위의 NULL 비율. |
| Args | No | 생성기별 추가 인자(범위, Enum, 길이 제한 등). |
Read Ontology Object
- 기존에 적재된 온톨로지 오브젝트의 행을 데이터프레임으로 다시 가져와 후속 노드에서 재사용할 수 있게 하는 노드
- 다른 파이프라인에서 생성된 온톨로지 데이터를 입력으로 받아 후처리·재가공할 때 사용한다
- OLAP 타입의 온톨로지는 지원하지 않는다
주요 설정 항목
| 필드 | 필수 | 설명 |
|---|---|---|
| Ontology Object | Yes | 대상 온톨로지 오브젝트를 선택한다. |
| Filters | No | JSON 객체 형식의 필터 조건. 예: {"sku": "A1", "status": ["A", "B"]}. |
| Limit | No | 최대 행 수(상한 10,000,000). 비우면 전체 행을 읽는다. |
| Select Columns | No | 가져올 컬럼 목록. 비우면 모든 컬럼을 읽는다. |
외부 API 등에서 과거 데이터를 점진 적재해야 한다면 Backfill 노드를 데이터 소스 앞에 배치한다.
Last updated on