본문으로 건너뛰기
버전: v0.1.0

데이터셋

데이터셋은 D.Hub에서 구조화된 테이블 데이터를 관리하는 핵심 리소스입니다. 내부적으로 Delta Lake 포맷을 사용하여 스키마 관리, 버전 추적, 트랜잭션 지원을 제공합니다.

데이터셋 개요

데이터셋은 컬렉션에 포함되는 주요 아이템 유형 중 하나로, 다음과 같은 특징을 가집니다.

  • 스키마 기반 관리: 각 컬럼의 이름, 데이터 타입, 설명을 명확히 정의합니다.
  • 버전 관리: 데이터가 변경될 때마다 새 버전이 자동으로 기록됩니다.
  • Delta Lake 기반: ACID 트랜잭션, 타임 트래블(Time Travel), 스키마 진화(Schema Evolution)를 지원합니다.
  • S3 호환 스토리지: 오브젝트 스토리지에 데이터가 저장됩니다.

데이터셋 상세 화면

컬렉션 트리에서 데이터셋을 선택하면 오른쪽 패널에 상세 정보가 표시됩니다.

스키마 탭 (Schema)

스키마 탭에서는 데이터셋의 구조를 확인할 수 있습니다.

  • 컬럼 목록: 각 컬럼의 이름, 데이터 타입, 설명이 테이블 형태로 표시됩니다.
  • 타입 정보: Arrow 기반의 정확한 데이터 타입이 표시됩니다 (예: int64, string, timestamp).
  • Nullable 여부: 각 컬럼이 NULL 값을 허용하는지 확인할 수 있습니다.
정보

스키마는 CSV 업로드 시 자동으로 추론되며, 필요한 경우 수동으로 수정할 수 있습니다.

데이터 프리뷰 탭 (Preview)

데이터 프리뷰 탭에서는 실제 저장된 데이터를 테이블 형태로 미리볼 수 있습니다.

  • 페이지네이션: 대량의 데이터를 페이지 단위로 탐색합니다.
  • 정렬: 컬럼 헤더를 클릭하여 오름차순/내림차순으로 정렬할 수 있습니다.
  • 검색: 특정 값을 검색하여 원하는 행을 빠르게 찾을 수 있습니다.

메타데이터

상세 화면 상단에서 데이터셋의 메타데이터를 확인하고 편집할 수 있습니다.

필드설명
Name데이터셋의 고유 식별자 (영문 소문자, 숫자, 언더스코어)
Alias사용자에게 표시될 별칭
Category리소스 분류 (기본값: dataset)
Type데이터셋 유형 (사용자 정의)
Tags검색 및 분류를 위한 태그 목록
Groups접근 제어를 위한 그룹 지정
Comment데이터셋에 대한 설명

CSV 업로드

D.Hub은 CSV 파일을 통한 간편한 데이터 업로드를 지원합니다.

업로드 절차

  1. 파일 선택: 데이터셋 상세 화면에서 Upload 버튼을 클릭하고 CSV 파일을 선택합니다.
  2. 스키마 자동 추론: 시스템이 CSV 파일의 헤더와 데이터를 분석하여 각 컬럼의 데이터 타입을 자동으로 추론합니다.
  3. 데이터 타입 확인: 추론된 스키마를 검토하고 필요한 경우 타입을 수정합니다.
  4. 업로드 실행: 확인 후 Upload 버튼을 클릭하면 데이터가 Delta Lake 테이블로 변환되어 저장됩니다.

CSV 파일의 첫 번째 행은 반드시 컬럼 헤더여야 합니다. 헤더가 없는 파일은 업로드 시 자동으로 column_0, column_1과 같은 기본 이름이 부여됩니다.

업로드 시 주의사항

  • 파일 인코딩: UTF-8 인코딩을 권장합니다.
  • 구분자: 쉼표(,)가 기본 구분자이며, 파일 내용에 따라 자동 감지됩니다.
  • 데이터 크기: 대용량 파일의 경우 업로드 시간이 길어질 수 있습니다.
경고

업로드 중 브라우저를 닫거나 페이지를 이동하면 업로드가 중단될 수 있습니다. 업로드 완료 메시지를 확인한 후 다른 작업을 수행하세요.

지원 데이터 타입

D.Hub 데이터셋은 Apache Arrow 기반의 다양한 데이터 타입을 지원합니다.

기본 타입

타입설명예시
string문자열 (UTF-8)"Hello", "서울"
large_string대용량 문자열긴 텍스트 데이터
boolean참/거짓true, false

정수 타입

타입범위설명
int8-128 ~ 1278비트 정수
int16-32,768 ~ 32,76716비트 정수
int32-2^31 ~ 2^31-132비트 정수
int64-2^63 ~ 2^63-164비트 정수
uint80 ~ 255부호 없는 8비트 정수
uint160 ~ 65,535부호 없는 16비트 정수
uint320 ~ 2^32-1부호 없는 32비트 정수
uint640 ~ 2^64-1부호 없는 64비트 정수

실수 타입

타입정밀도설명
float16반정밀도16비트 부동소수점
float32단정밀도32비트 부동소수점
float64배정밀도64비트 부동소수점

날짜/시간 타입

타입설명예시
date32날짜 (일 단위)2025-01-15
date64날짜 (밀리초 단위)2025-01-15
time32시간 (초/밀리초)14:30:00
time64시간 (마이크로/나노초)14:30:00.123456
timestamp타임스탬프 (타임존 지원)2025-01-15T14:30:00+09:00
duration시간 간격경과 시간

복합 타입

타입설명
list동일 타입 요소의 배열
struct여러 필드를 가진 구조체
binary바이너리 데이터
large_binary대용량 바이너리 데이터

버전 이력

데이터셋의 데이터가 변경될 때마다 Delta Lake에 새로운 버전이 기록됩니다. 각 버전에는 변경 시점의 타임스탬프가 포함되어 있으며, 특정 버전의 데이터를 조회할 수 있습니다.

자세한 내용은 버전 관리 문서를 참고하세요.

다음 단계