본문으로 건너뛰기

Datasets API

데이터셋(Dataset)은 D.Hub에서 관리되는 데이터의 저장소 단위입니다. Delta Lake 형식을 기반으로 하며, 스키마와 파티션 옵션 등을 관리합니다.

1. List Datasets

모든 데이터셋 목록을 조회합니다.

Request

GET /datasets/

Response

{
"items": { ... },
"token": "..."
}

2. Create Dataset

새로운 데이터셋을 생성합니다.

Request

POST /datasets/

Body Schema (Dataset)

FieldTypeRequiredDescription
namestringYes데이터셋 이름
aliasstringNo별칭
typestringNo데이터셋 유형 (예: table, stream)
schemaobjectYes데이터 스키마 정의 (JSON Schema 형식)
optionsobjectNoDelta Lake 설정 옵션
tagsarray[string]No태그 목록

Options Object

FieldDescription
partitions파티션 컬럼 목록 (콤마로 구분된 문자열)
log_retention_duration로그 보관 기간 (예: interval 30 days)
deleted_file_retention_duration삭제된 파일 보관 기간

Example

{
"name": "customer_transactions",
"type": "table",
"schema": {
"type": "struct",
"fields": [
{"name": "id", "type": "string", "nullable": false, "metadata": {}},
{"name": "amount", "type": "double", "nullable": true, "metadata": {}},
{"name": "trans_date", "type": "string", "nullable": true, "metadata": {}}
]
},
"options": {
"partitions": "trans_date",
"log_retention_duration": "interval 7 days"
}
}

3. Update Dataset

데이터셋 메타데이터를 수정합니다. (주의: 스키마 변경은 호환성 검토가 필요할 수 있습니다.)

Request

PUT /datasets/{dataset_id}

Body Schema (DatasetUpdate)

FieldTypeDescription
schemaobject스키마 변경
optionsobject옵션 변경
tagsarray[string]태그 변경
......(기타 기본 필드)

4. Delete Dataset

데이터셋을 삭제합니다. (실제 데이터 파일 삭제 여부는 정책에 따름)

Request

DELETE /datasets/{dataset_id}