데이터셋
데이터셋은 D.Hub에서 구조화된 테이블 데이터를 관리하는 핵심 리소스입니다. 기본 서브타입인 delta는 Delta Lake 포맷을 사용해 스키마 관리, 버전 추적, 트랜잭션을 제공하며, 그 밖의 서브타입(kafka·rest·object)은 각각 다른 저장·연결 방식을 사용합니다.
데이터셋 유형 (서브타입)
D.Hub 데이터셋은 저장 방식에 따라 다음 4개의 서브타입(type)으로 구분됩니다. 이 값은 생성 시 명시적으로 선택해야 하며, 임의 문자열을 보내면 API가 422로 거부합니다.
서브타입 (type) | 설명 |
|---|---|
delta | 파일 업로드 및 파이프라인 기반의 Delta Lake 테이블 (기본 사용 케이스) |
kafka | 실시간 메시지 스트림에서 데이터를 수집하는 스트리밍 데이터셋 |
rest | 외부 REST 엔드포인트를 데이터 소스로 노출 |
object | 파일/객체 스토리지 자체를 데이터 단위로 등록 |
서브타입은 생성 후 변경할 수 없습니다. 이전 버전의 table 서브타입은 폐기되었습니다.
데이터셋 상세 화면
컬렉션 트리에서 데이터셋을 선택하면 오른쪽 패널에 상세 정보가 표시됩니다. 상세 화면은 다음 탭으로 구성됩니다.
| 순서 | 탭 | 내용 |
|---|---|---|
| 1 | 개요 | 메타데이터 확인·편집 |
| 2 | 스키마 | 컬럼 구조 확인·편집 |
| 3 | 데이터 | 데이터 조회, SQL, 시각화, 파일 업로드 |
| 4 | 버전 기록 | 버전 타임라인, 미리보기·비교·복원 |
| 5 | 공유 및 권한 | 사용자·그룹 권한 관리 (공유 및 권한 참고) |
| 6 | 데이터 접근 정책 | 컬럼·행 수준 세분화 접근 제어 (정책 관리 참고) |
| 7 | 사용처(References) | 이 데이터셋을 backing으로 쓰는 온톨로지 자원 |
개요 탭 (메타데이터)
데이터셋의 메타데이터를 확인하고, 편집 모드에서 일부 필드를 수정합니다.
| 필드 | 설명 | 편집 |
|---|---|---|
| 이름 (Name) | 데이터셋의 고유 식별자 | 생성 후 변경 불가 |
| 별칭 (Alias) | 사용자에게 표시될 별칭 | 가능 (AI 제안 지원) |
| 유형 (Type) | 서브타입: delta / kafka / rest / object | 생성 후 변경 불가 |
| 태그 (Tags) | 검색·분류용 태그 | 가능 (AI 제안 지원) |
| 설명 (Description) | 데이터셋 설명 | 가능 (AI 제안 지원) |
| 컬렉션 / ID | 소속 컬렉션과 시스템 ID | 변경 불가 (복사 가능) |
| 생성·수정 일시 | 작성자 정보 포함(소유자 호버 미리보기) | 변경 불가 |
rest 데이터셋은 URL(하나 이상)을, kafka 데이터셋은 토픽 정보를 함께 표시합니다.
스키마 탭
스키마 탭에서는 데이터셋의 구조를 확인하고 편집할 수 있습니다(Object 데이터셋은 편집 대상이 아닙니다).
- 컬럼 목록: 각 컬럼의 열 이름 · 별칭 · 설명 · 데이터 타입 · NULL 허용 여부가 테이블로 표시됩니다.
- 데이터 타입: 친화적 이름으로 표시·선택하며, 헤더의 네이티브 타입 표시 토글을 켜면 Arrow 네이티브 타입 이름으로 전환됩니다(아래 지원 데이터 타입 참고).
- 스키마 편집: 편집 모드에서 열 추가, 이름·별칭·설명·타입·NULL 허용을 수정합니다.
rest데이터셋은 컬럼별 JSONPath를 지정할 수 있습니다.
새로 만든 데이터셋은 임시 스키마 field1만 가진 상태로 시작합니다. 데이터 탭에서 첫 CSV/Parquet 파일을 업로드하면 파일 컬럼으로 스키마가 초기화됩니다.
데이터 탭
데이터 탭에서는 실제 저장된 데이터를 조회·분석합니다.
- 페이지네이션: 한 페이지에 25행씩 탐색합니다.
- SQL 스크래치 패드: 접을 수 있는 SQL 편집기로 임시 쿼리를 실행합니다. SELECT 쿼리만 허용되며, 쿼리에 사용할 수 있는 테이블명은 해당 데이터셋으로 제한됩니다. AI 어시스턴트(
⌘I/Ctrl+I)와 쿼리 기록을 제공합니다. - 보기 전환(표 · 지도 · 차트): 위/경도로 인식되는 컬럼(
lat·latitude·위도,lng·lon·longitude·경도등)이 감지되면 지도 보기 버튼이, 시간 컬럼이 감지되면 차트 보기 버튼이 추가로 나타납니다. 표/지도/차트는 버튼으로 전환합니다(지도는 마커·히트맵 모드 지원). - 새로고침 / 다운로드: 최신 데이터를 다시 불러오거나 CSV로 내려받습니다.
- 파일 업로드:
delta·object데이터셋은 파일 업로드 버튼으로 기존 데이터셋에 데이터를 추가할 수 있습니다(아래 기존 데이터셋에 데이터 추가 참고).
버전 기록 탭
데이터셋의 버전 이력을 타임라인 형태로 확인합니다.
- 버전 목록: 각 버전의 버전 ID, 최신 배지, 작성자(소유자 호버 미리보기), 수정 시각(상대·절대)을 표시합니다.
- 미리보기: 특정 버전의 메타데이터/스키마를 펼쳐 봅니다.
- 버전 비교: 데이터셋은 현재 버전 간 Diff 비교를 제공하지 않습니다(버전 비교는 코드 자원에서 지원). 각 버전의 내용은 미리보기로 확인하세요.
- 복원: 이전 버전으로 되돌립니다. 권한이 있는 사용자만 사용할 수 있으며, 복원 전 확인을 거칩니다.
사용처(References) 탭
이 데이터셋을 backing dataset으로 사용하는 온톨로지 자원(엔티티 타입·관계 타입)을 한눈에 확인할 수 있는 탭입니다.
Dataset Detail의 사용처(References) 탭. backing dataset으로 이 데이터셋을 사용하는 엔티티(Entity) / 관계(Relationship) 카드가 나열되어야 합니다.
- 백킹 엔티티 타입 / 백킹 관계 타입 두 섹션으로 나뉘며, 각 항목은 종류 배지·표시명·소속 컬렉션을 보여줍니다.
- 항목의 열기(Open) 버튼을 누르면 온톨로지 빌더(
/ontology/builder)의 해당 자원으로 이동합니다. - 참조가 없으면 빈 상태 안내와 온톨로지 빌더로 가는 안내가 나타납니다.
사용처 탭은 온톨로지 정의가 변경될 때 영향 범위를 빠르게 파악하는 용도입니다.
파일 업로드
파일 업로드 흐름은 신규 생성과 기존 데이터셋에 추가 두 가지로 나뉩니다.
신규 데이터셋 생성 (드래그 앤 드롭 / 빠른 추가)
CSV·Parquet·JSON·Python·SQL 파일을 컬렉션/폴더에 드래그하거나 + 항목 추가 ▾ → 빠른 추가… 메뉴를 사용하면, 확장자에 따라 새 데이터셋·코드가 생성됩니다. CSV·JSON은 헤더 편집 가능한 미리보기와 AI 컬럼명 생성을 제공합니다. 자세한 절차는 아이템 추가와 이동의 Quick Upload 절을 참고하세요.
기존 데이터셋에 데이터 추가
데이터 탭(또는 스키마가 비어 있을 때 스키마 탭의 안내)의 파일 업로드 버튼으로 기존 delta·object 데이터셋에 데이터를 추가합니다. 업로드 전에 파일 업로드 검토 대화상자가 스키마 영향을 먼저 보여줍니다.
- 파일 선택: CSV 또는 Parquet 파일을 선택합니다(테이블 데이터셋은 CSV·Parquet만 허용). Object 데이터셋은 스키마 검사 없이 파일을 관리 객체로 저장합니다.
- 스키마 영향 검토: 선택한 파일의 스키마를 추론해 현재 데이터셋 스키마와 비교하고, 다음 구분으로 차이를 표시합니다.
- 새 컬럼: 파일에만 있는 컬럼 — 업로드 시 스키마에 추가됩니다(스키마 병합).
- 파일에 없는 컬럼 / 타입 충돌 / 파일 간 충돌: 업로드가 차단되며, 파일을 수정하거나 데이터셋 스키마를 먼저 편집해야 합니다.
- 데이터셋 스키마가 비어 있거나 임시(
field1)이면 선택한 파일 컬럼으로 스키마를 초기화합니다.
- 업로드 실행: 검토 상태에 따라 버튼이 스키마 초기화 후 업로드 / 스키마 병합 후 업로드 / 업로드 중 하나로 표시됩니다. 실행하면 데이터가 적재되고, 진행 상태는 업로드 진행 패널에서 확인할 수 있습니다.
이 검토 대화상자에는 헤더 직접 편집이나 AI 컬럼 명명이 없습니다. 그런 보정은 신규 생성(Quick Upload) 흐름에서 수행하세요.
컬럼명 규칙
스키마 컬럼명은 다음 규칙을 통과해야 합니다(통과하지 않으면 인라인 에러로 표시됨).
- 빈 이름 금지.
- 영문자 또는 밑줄(
_)로 시작하고, 이후에는 영문자·숫자·밑줄만 사용합니다. 한글·공백·/·\·기타 기호는 허용되지 않습니다. - SQL(ClickHouse) 예약어는 컬럼명으로 사용할 수 없습니다.
- 같은 스키마 안에서 컬럼명 중복 금지.
한글 등 표시용 이름이 필요하면 컬럼의 별칭(Alias) 필드를 사용하세요. 별칭에는 이런 제약이 없습니다.
지원 데이터 타입
스키마 편집기에서 선택할 수 있는 데이터 타입은 다음과 같습니다. 기본은 친화적 이름으로 표시되며, 네이티브 타입 표시 토글을 켜면 Arrow 네이티브 타입 이름으로 바뀝니다.
| 친화적 이름 | 네이티브(Arrow) | 설명 |
|---|---|---|
Text | utf8 | 문자열 (UTF-8) |
Smallint | int16 | 작은 정수 |
Integer | int32 | 정수 |
Bigint | int64 | 큰 정수 |
Real | float32 | 부동소수점(단정밀도) |
Double | float64 | 부동소수점(배정밀도) |
Numeric | decimal | 고정소수점(정밀도·스케일) |
Boolean | bool | 참/거짓 |
Date | date32 | 날짜 |
Time | time32 | 시간 |
Timestamp | timestamp | 타임스탬프 |
List | list | 동일 타입 요소의 배열 |
Binary | binary | 바이너리 데이터 |
네이티브 타입 표시를 켜면 Date는 Date32 / Date64로 나뉘어 선택할 수 있습니다(date32는 일 단위, date64는 밀리초 단위).
업로드한 파일의 컬럼 타입은 자동으로 추론됩니다. 위 표는 스키마 편집기에서 직접 선택할 수 있는 타입 목록입니다.