인제스천 파이프라인
비정형 문서의 전처리·적재 파이프라인을 등록하고, 배치로 실행하며,
진척률을 모니터링하고, 실패한 항목만 재시도하는 통합 워크플로우입니다.
좌측 메뉴 데이터 엔지니어링 → 파일·문서 수집 (/ingestion) 에서 진입하며,
파이프라인 / 실행(Runs) / 문서(Documents) 세 탭으로 구성됩니다.

구조화 데이터(ELT/CDC)용 Pipelines 메뉴와는 별개입니다. 이 문서는 문서 적재 파이프라인만 다룹니다.
1. 파이프라인 등록 — 빌더 6단계
파이프라인 탭 → + 새 파이프라인 → 6단계 다이얼로그를 차례로 채웁니다. (아래 스크린샷은 datax-local 에서 실제로 한 단계씩 진행한 화면입니다.)
1단계 — 소스
S3·SFTP·SMB·NFS·SharePoint·REST API·IMAP·웹 크롤링·범용 파일시스템(fsspec)
9종 중 선택 후 접속 정보를 입력하고 연결 테스트로 확인합니다.
(소스 타입 카탈로그는 GET /collection/source-types 가 제공합니다.)

웹 크롤링 소스 옵션 (allowed_domains 동작, #841)
웹 크롤링 소스는 다음 필드를 지원합니다.
| 필드 | 예시 | 설명 |
|---|---|---|
start_url | https://example.com/news | 크롤 시작 URL (필수) |
max_depth | 2 | 링크 추적 깊이 |
max_pages | 100 | 페이지 수 상한 |
allowed_domains | example.com, api.example.com | 허용 도메인 (CSV). 비우면 start_url 의 netloc 만 허용 |
allow_pattern | ^/news/ | 정규식 URL allowlist |
deny_pattern | /admin/ | 정규식 URL blocklist |
rate_limit | 2.0 | 초당 요청 수 (기본 GenD 설정값) |
allowed_domains 형식
- CSV (쉼표 구분):
a.com, b.com, c.com - URL 프리픽스 허용:
https://a.com/foo→ netloc 만 추출 - 빈 토큰 무시:
,,a.com,,→a.com - 모두 비어있으면
start_urlnetloc 만 허용 (1.x 호환)
예시
start_url | allowed_domains | 크롤 가능 도메인 |
|---|---|---|
https://example.com/seed | (없음) | example.com 만 |
https://example.com/seed | example.com, api.example.com | example.com, api.example.com |
https://example.com/seed | https://other.com/foo | example.com, other.com |
2단계 — 파서
자동(확장자 라우팅) 또는 수동 매핑(pdf→PDF 파서 등).

3단계 — 청킹
청킹 전략(recursive / sentence / fixed) · 청크 크기 · 청크 중첩.

4단계 — 적재
벡터 스토어(Weaviate / Milvus) · 그래프 스토어 · 자동 보강(enrich) · 배치별 오버라이드.

5단계 — 스케줄
수동 또는 cron · 재시도 횟수 · backoff(초).

6단계 — 확인
소스→파서→청킹→적재→스케줄 선택이 요약되고 파이프라인 이름을 입력합니다. 저장 또는 저장 & 지금 실행으로 마칩니다.

2. 배치 실행 (실행 탭)
- 파이프라인의 실행 버튼 또는 빌더의 저장 & 지금 실행으로 Run을
생성합니다. Run은
queued → running → succeeded/partial/failed로 진행합니다. - 실행(Runs) 탭에서 진행률 막대(
progress_pct)와 단계별 롤업 (parse / chunk / embed / vector / graph)을 실시간(2~3초 폴링)으로 봅니다.
3. 진척 모니터링
Run을 클릭하면 상세 패널이 열립니다.
- 단계별 진행 막대(parse / chunk / embed / vector / graph) + 항목 합계(성공 / 실패 / 대기).
- 항목 그리드: 파일별 상태·실패 단계·에러 메시지.
아래는 4개 문서를 적재한 실제 Run 예시입니다 — 단계 롤업(embed 75% · vector 50%)과
함께, 분기보고서_C.hwp가 embed 단계에서, 매출자료_D.xlsx가 vector 단계에서
실패한 것이 파일·단계·에러까지 그대로 보입니다.

4. 실패 조회 & 재시도
- 항목 필터에서 실패만 또는 단계: embed 등으로 좁혀 실패 항목만 봅니다.

- 실패만 재시도 또는 선택한 항목만 재시도하면, 원본 Run은 보존된 채
새 Run(
trigger_type=retry)이 생성되어 실패 단계부터 재개됩니다. 전체 재처리가 필요하면 재시도 시full_reprocess옵션을 켭니다. (재시도 Run은retry_of_run_id로 원본과 연결됩니다.)
증분 수집
수집기는 체크포인트(checkpoint) 기반 증분 수집을 지원합니다:
- S3:
last_key— 마지막 수집된 객체 키 - SFTP/NFS:
last_mtime— 마지막 수집된 파일의 수정 시각 - 동일 파일은 content_hash 로 중복 방지
이미 수집된 파일은 자동으로 건너뜁니다.
구 자동 수집 화면에서의 이관
구 자동 수집(Auto Collection) 화면(/collections)은 제거되었으며,
소스 등록·실행 이력·모니터링은 이 워크플로우(파일·문서 수집 허브)가
승계합니다. 함께 정리된 사항:
- 시세(ccxt)·뉴스(rss) 수집기의 신규 등록은 종료되었습니다 (API 410 응답). 시세는 인텔리전스 Dagster 자산, 뉴스는 인텔리전스 소스(rss) 수집기가 정본입니다.
/collection/*API 는 폐기된 것이 아닙니다 — 파이프라인 빌더가 소스 정의 저장·연결 테스트·소스 타입 카탈로그(GET /collection/source-types, 범용 9종) 용도로 계속 사용합니다.- 구 화면에서 만든 기존 소스/이력을 파이프라인·Run 으로 옮기는 백필
마이그레이션은 결정적(deterministic) UUID 기반의 멱등·무손실 설계로
준비되어 있습니다 (원본
collection_*행과details_json보존). 운영 환경 적용 시점은 운영 일정에 따라 별도 공지하며, 적용되면 기존 소스가 파이프라인 목록에 함께 나타납니다.