문서 목차
소스별 수집 설정
DB, RSS/Atom, HTTP API, Jira · Confluence 수집 작업의 입력 항목과 결과 형식
QUANTUM C&S
Data Factory 의 데이터 수집 탭에서 만드는 작업을 소스별로 설명합니다.
DB 연동
운영 시스템의 RDB 데이터를 가져옵니다. AkashiQ는 Trino 카탈로그를 경유하므로 DB마다 별도 드라이버를 설치하지 않고 같은 방식으로 접근합니다.
사전 준비
- 대상 DB가 Trino 카탈로그로 연결되어 있어야 합니다. (플랫폼 관리자 작업)
- 사용자에게 해당 카탈로그의 조회 권한이 있어야 합니다.
- Data Catalogs에서 대상 테이블 위치를 미리 확인합니다.
입력 항목
| 필드 | 설명 |
|---|---|
| 작업 이름 | 사용자 지정 |
| 카탈로그 · 스키마 · 테이블 | 대상 위치 |
| SELECT 문 (선택) | 컬럼 · 조건을 직접 지정 |
| 출력 포맷 | JSONL 또는 CSV |
| 적재 경로 | staging 하위 경로 |
| 행 제한 | 안전 상한 |
SELECT 문을 비워두면 대상 테이블 전체를 조회합니다. 증분 수집이 필요하면 조건을 직접 작성합니다.
SELECT id, amount, updated_at
FROM <catalog>.<schema>.orders
WHERE updated_at >= current_date - interval '1' day
실행 흐름
Trino에서 SELECT 실행 → 결과를 스트리밍으로 저장소 적재 → 행 수 · 크기 기록
자주 발생하는 오류
| 상황 | 원인 | 조치 |
|---|---|---|
| 카탈로그를 찾을 수 없음 | Trino에 카탈로그 미등록 | 플랫폼 관리자에게 카탈로그 추가 요청 |
| 조회 거부 | 권한 부족 | 데이터 소유팀에 권한 신청 |
| 행 제한 초과 | 대상 데이터가 상한을 넘음 | 조건을 좁히거나 상한 조정 |
| 저장 실패 | staging 권한 문제 | 운영 담당자 확인 |
📝 참고
대용량 전체 적재는 배치 수집보다 Spark 작업이 적합합니다. 데이터 규모가 크면 운영 담당자와 방식을 협의하세요.
RSS · Atom 수집
공지, 뉴스, 사내 위키 피드처럼 구조화된 피드를 수집합니다. HTML 페이지 전체를 크롤링하지 않습니다.
입력 항목
| 필드 | 설명 |
|---|---|
| 작업 이름 | 사용자 지정 |
| 피드 URL | RSS · Atom 주소 |
| 최대 항목 수 | 한 번에 가져올 상한 |
| 본문 포함 여부 | 본문 텍스트 저장 |
| HTML 정제 | 태그 제거 |
| 출력 포맷 | JSONL 또는 CSV |
변환 결과
| 컬럼 | 설명 |
|---|---|
id |
항목 식별자 |
title |
제목 |
link |
원문 URL |
summary · content |
요약과 본문 |
author |
작성자 |
published_at |
게시 시각 |
categories |
분류 |
source_feed |
원본 피드 URL |
한계
- 자바스크립트 렌더링이 필요한 사이트는 지원하지 않습니다.
- 첨부 파일 다운로드는 범위에 포함되지 않습니다.
- 중복 제거는 자동화되지 않습니다. 같은 항목이 다른 실행에서 다시 적재될 수 있습니다.
HTTP API 수집
임의의 HTTP 응답을 가져와 적재합니다. 응답이 JSON 배열이거나 배열을 포함한 객체일 때 행으로 변환됩니다. 인증이 필요한 엔드포인트는 운영 담당자가 자격 증명을 환경에 등록해야 합니다.
Jira · Confluence 수집
Atlassian Cloud의 이슈와 페이지를 프로젝트 · 스페이스 단위로 수집합니다.
사전 준비 (운영자)
- 수집 전용 계정의 API Token 발급
- 자격 증명을 서비스 환경 변수 또는 Secret으로 등록
- 대상 프로젝트 · 스페이스 조회 권한 부여
ℹ️ 참고
API Token은 화면이나 작업 정의에 저장되지 않고 환경에서 참조합니다.
Jira 이슈
| 필드 | 설명 |
|---|---|
| Atlassian 도메인 | 사이트 주소 |
| Project Key | 대상 프로젝트 |
| JQL 조건 | 추가 필터 |
| 최대 이슈 수 | 실행당 상한 |
가져오는 필드는 이슈 키, 제목, 상태, 우선순위, 담당자, 보고자, 생성 · 수정 시각, 본문, 라벨, 컴포넌트, 버전입니다. 댓글 · 변경 이력 · 작업 기록은 포함하지 않습니다.
Confluence 페이지
| 필드 | 설명 |
|---|---|
| Atlassian 도메인 | 사이트 주소 |
| Space Key | 대상 스페이스 |
| CQL 조건 | 추가 필터 |
| 본문 포함 · HTML 정제 | 본문 추출 방식 |
가져오는 필드는 페이지 ID, 제목, 스페이스, 버전, 생성 · 수정 시각, 작성자, 본문, 라벨, 상위 페이지입니다. 첨부 파일은 포함하지 않습니다.
자주 발생하는 오류
| 상황 | 원인 | 조치 |
|---|---|---|
| 인증 실패 | Token 만료 또는 오류 | 운영 담당자에게 갱신 요청 |
| 대상을 찾을 수 없음 | 키 오타 또는 권한 없음 | 키 확인, 권한 신청 |
| 호출 제한 | 외부 API 호출 한도 초과 | 잠시 후 재시도, 최대 항목 수 축소 |
| 쿼리 문법 오류 | JQL · CQL 오류 | 조건 문법 확인 |
다음 단계
수집이 끝나면 DataHub 등록에서 결과를 데이터셋으로 만듭니다.