분류 세트 파일 형식
분류 세트는 분류 데이터를 업로드하기 위해 다양한 파일 형식을 지원합니다. 각 형식에는 성공적인 데이터 업로드를 위한 특정 요구 사항이 있습니다.
이러한 사양에 따라 파일의 형식이 올바르게 지정되면 분류 세트 인터페이스 또는 API를 통해 데이터를 업로드할 수 있습니다. 자세한 업로드 지침은 다음과 같습니다.
- 브라우저 업로드: 분류 세트에 대해서는 스키마 인터페이스의 업로드를 참조하십시오.
- API 업로드: Analytics 분류 API 참조
분류 세트는 다음 파일 형식을 지원합니다.
- JSON: 구조화된 데이터가 있는 JavaScript 개체 표기법 파일
- CSV: 쉼표로 구분된 값 파일
- TSV/TAB: 탭으로 구분된 값 파일
일반 파일 요구 사항
모든 파일 형식은 다음 요구 사항을 준수해야 합니다.
- 파일 인코딩: 바이트 순서 표시 없이 UTF-8을 사용합니다. Latin1 인코딩도 지원됩니다.
- 문자 제한: 개별 분류 값의 최대 제한은 255바이트입니다.
- 키 요구 사항: 키 값은 비워 두거나 공백만 포함할 수 없습니다. 중복 키가 있는 경우 마지막 항목이 사용됩니다.
JSON 파일 형식은 JSON 라인(JSONL)에 대한 규칙을 따릅니다. 파일에는 라인당 하나의 JSON 오브젝트가 포함되어야 하며, 여기서 각 오브젝트는 단일 분류 레코드를 나타냅니다.
| note note |
|---|
| NOTE |
다음 JSON 줄 규칙에도 불구하고 모든 업로드에 .json 파일 확장명을 사용합니다. .jsonl 확장을 사용하면 오류가 발생할 수 있습니다. |
JSON 구조
각 JSON 개체에는 다음이 포함되어야 합니다.
-
key(필수): 분류 레코드에 대한 고유 식별자 -
data(업데이트에 필요): 분류 열 이름 및 해당 값이 포함된 개체 -
action(선택 사항): 수행할 작업입니다. 지원되는 값은 다음과 같습니다.update(기본값)delete-fielddelete-key
-
enc(선택 사항): 데이터 인코딩 사양입니다. 지원되는 값은 다음과 같습니다.utf8또는UTF8(기본값)latin1또는LATIN1
모든 JSON 필드 이름(key, data, action, enc)은 대/소문자를 구분하며 소문자여야 합니다.
JSON 예
기본 업데이트 레코드:
| code language-json |
|---|
|
지정된 인코딩으로 업데이트:
| code language-json |
|---|
|
특정 필드 삭제:
| code language-json |
|---|
|
전체 키 삭제:
| code language-json |
|---|
|
JSON 유효성 검사 규칙
key필드는 필수이며 null이거나 비워 둘 수 없습니다.update작업의 경우data필드는 필수이며 비워 둘 수 없습니다.delete-field작업의 경우data필드에 삭제할 필드가 있어야 합니다.delete-key작업의 경우data필드가 없어야 합니다.- 지원되는 인코딩 값은 대소문자를 구분하지 않으며 표준 문자 세트 이름을 포함합니다.
CSV(쉼표로 구분된 값) 파일은 쉼표를 사용하여 분류 데이터 필드를 구분합니다.
CSV 구조
- 머리글 행: 첫 번째 행에는 열 머리글이 포함되어야 하며 첫 번째 열은 키 열이어야 합니다. 후속 열은 분류 세트 스키마의 이름과 일치해야 합니다.
- 데이터 행: 각 후속 행에 분류 데이터가 포함되어 있습니다.
- 구분 기호: 필드는 쉼표로 구분됩니다.
- Quoting: 쉼표, 따옴표 또는 줄바꿈을 포함하는 필드는 큰따옴표로 묶어야 합니다.
CSV 예
기본 분류 데이터:
| code language-csv |
|---|
|
전체 키 삭제:
| code language-csv |
|---|
|
특정 필드 삭제(업데이트와 혼합):
| code language-csv |
|---|
|
CSV 형식 규칙
- 쉼표가 포함된 필드는 큰따옴표로 묶어야 합니다.
- 큰따옴표가 포함된 필드는 큰따옴표(
"")를 두 배로 늘려 이스케이프 처리를 해야 합니다. - 빈 필드는 해당 분류에 대한 null 값을 나타냅니다.
- 필드 주위의 선행 및 후행 공백은 자동으로 트리밍됩니다.
- 따옴표 붙은 필드 내의 특수 문자(탭, 줄 바꿈)는 유지됩니다.
삭제 작업:
- 모든 필드에서
~deletekey~을(를) 사용하여 전체 키와 모든 해당 분류 데이터를 삭제합니다. - 특정 필드에서
~empty~을(를) 사용하여 해당 분류 값만 삭제합니다(다른 필드는 그대로 유지). ~empty~을(를) 사용하는 경우 같은 파일의 업데이트와 함께 삭제를 혼합할 수 있습니다
TSV(탭으로 구분된 값) 및 TAB 파일은 탭 문자를 사용하여 분류 데이터 필드를 구분합니다.
TSV 및 탭 구조
- 머리글 행: 첫 번째 행에는 열 머리글이 포함되어야 하며 첫 번째 열은 키 열이어야 합니다. 후속 열은 분류 세트 스키마의 이름과 일치해야 합니다.
- 데이터 행: 후속 행마다 분류 데이터가 있습니다.
- 구분 기호: 필드가 탭 문자(
\t)로 구분됩니다. - 따옴표: 일반적으로 따옴표는 필요하지 않지만 일부 구현은 따옴표 붙은 필드를 지원합니다.
TSV 및 탭 예
기본 분류 데이터:
| code language-tsv |
|---|
|
전체 키 삭제:
| code language-tsv |
|---|
|
특정 필드 삭제(업데이트와 혼합):
| code language-tsv |
|---|
|
TSV/탭 서식 규칙
- 필드는 단일 탭 문자로 구분됩니다.
- 빈 필드(연속 탭)는 null 값을 나타냅니다.
- 일반적으로 특별한 견적은 필요하지 않습니다.
- 선행 및 후행 공백은 그대로 유지됩니다.
- 필드 내에 줄 바꿈 문자는 사용하지 않아야 합니다.
삭제 작업:
- 모든 필드에서
~deletekey~을(를) 사용하여 전체 키와 모든 해당 분류 데이터를 삭제합니다. - 특정 필드에서
~empty~을(를) 사용하여 해당 분류 값만 삭제합니다(다른 필드는 그대로 유지). ~empty~을(를) 사용하는 경우 같은 파일의 업데이트와 함께 삭제를 혼합할 수 있습니다.
오류 처리
일반적인 업로드 문제 및 솔루션:
일반 파일 형식 오류
- 잘못된 파일 형식: 파일 확장명이 콘텐츠 형식(
.json,.csv,.tsv또는.tab)과 일치하는지 확인하십시오. - 알 수 없는 헤더: 열 이름이 분류 세트 스키마와 일치해야 합니다(모든 형식에 적용).
CSV 및 TSV 관련 오류
- 첫 번째 열은 키여야 합니다: CSV 또는 TSV 파일에 먼저 키 열이 있는 적절한 헤더 행이 있는지 확인하십시오.
- 최소 두 개의 헤더 항목이 필요합니다: CSV 또는 TSV 파일에는 최소
Key열과 하나의 분류 열이 있어야 합니다. - 첫 번째 헤더 열은 'Key'로 호출해야 합니다: 첫 번째 열 헤더는 정확히
Key이어야 합니다(대문자K, 대/소문자 구분). - 빈 헤더가 허용되지 않습니다: 모든 CSV/TSV 열 헤더에 이름이 있어야 합니다.
- 열 수가 헤더와 일치하지 않습니다: 각 CSV 또는 TSV 데이터 행의 필드 수가 헤더 행과 같아야 합니다.
- "잘못된 형식의 문서: CSV 따옴표, TSV 파일에서 적절한 탭 구분 등을 확인하십시오.
JSON 관련 오류
- 키는 필수 필드입니다: 모든 JSON 레코드에는 비어 있지 않은
"key"필드가 있어야 합니다(소문자, 대/소문자 구분). - action=update를 사용할 때 데이터는 필수 필드입니다. JSON 업데이트 작업에는
"data"필드가 포함되어야 합니다. - action=delete-field을(를) 사용할 때 데이터는 필수 필드입니다. JSON delete-field 작업은
"data"필드에서 삭제할 필드를 지정해야 합니다. - action=delete-key을(를) 사용할 때 데이터가 없어야 합니다. JSON delete-key 작업에는
"data"필드가 포함될 수 없습니다. - 지원되지 않는 인코딩:
"enc"필드(utf8,UTF8,latin1,LATIN1)에서 지원되는 인코딩 값만 사용하십시오. - 잘못된 JSON 구문: JSON 파일의 형식이 JSONL 규칙에 따라 올바르게 지정되었는지 확인하십시오. 또한 일반적인 JSON 형식, 누락된 따옴표, 쉼표, 대괄호 등을 확인합니다.
크기 제한 오류
- 키가 최대 크기를 초과합니다: 개별 키는 255바이트를 초과할 수 없습니다.
- 열 값이 최대 크기를 초과합니다: 개별 분류 값은 255바이트를 초과할 수 없습니다.
모범 사례
- 파일 크기: 50MB는 브라우저 및 API 업로드의 최대 파일 크기입니다.
- 일괄 처리: 대용량 데이터 세트의 경우 더 작은 파일로 분할하는 것이 좋습니다.
- 데이터 유효성 검사: 큰 데이터 세트를 업로드하기 전에 작은 샘플 파일로 테스트합니다.
- 백업: 원본 데이터 파일의 복사본을 보관합니다.
- 증분 업데이트: 개별 레코드 업데이트 및 삭제를 정확하게 제어하려면 JSON 형식을 사용하십시오.