분류 세트 파일 형식

분류 세트는 분류 데이터를 업로드하기 위해 다양한 파일 형식을 지원합니다. 각 형식에는 성공적인 데이터 업로드를 위한 특정 요구 사항이 있습니다.

이러한 사양에 따라 파일의 형식이 올바르게 지정되면 분류 세트 인터페이스 또는 API를 통해 데이터를 업로드할 수 있습니다. 자세한 업로드 지침은 다음과 같습니다.

분류 세트는 다음 파일 형식을 지원합니다.

  • JSON: 구조화된 데이터가 있는 JavaScript 개체 표기법 파일
  • CSV: 쉼표로 구분된 값 파일
  • TSV: 탭으로 구분된 값 파일
  • TAB: .tab 확장명을 가진 탭으로 구분된 값 파일(브라우저 업로드만 해당, API에서 지원되지 않음)

일반 파일 요구 사항

모든 파일 형식은 다음 요구 사항을 준수해야 합니다.

  • 파일 인코딩: 바이트 순서 표시 없이 UTF-8을 사용합니다. Latin1 인코딩도 지원됩니다.
  • 문자 제한: 개별 분류 값의 최대 제한은 255바이트입니다.
  • 키 요구 사항: 키 값은 비워 두거나 공백만 포함할 수 없습니다. 중복 키가 있는 경우 마지막 항목이 사용됩니다.
JSON 형식 세부 정보

JSON 파일 형식은 JSON 라인(JSONL)에 대한 규칙을 따릅니다. 파일에는 라인당 하나의 JSON 오브젝트가 포함되어야 하며, 여기서 각 오브젝트는 단일 분류 레코드를 나타냅니다.

note
NOTE
JSON Lines에 대한 규칙을 따르더라도 모든 업로드에 .json 파일 확장명을 사용합니다. .jsonl 확장을 사용하면 오류가 발생할 수 있습니다.

JSON 구조

각 JSON 개체에는 다음이 포함되어야 합니다.

  • key(필수): 분류 레코드에 대한 고유 식별자

  • data(업데이트에 필요): 분류 열 이름 및 해당 값이 포함된 개체

  • action(선택 사항): 수행할 작업입니다. 지원되는 값은 다음과 같습니다.

    • update(작업이 지정되지 않은 경우 기본 작업)
    • delete-field
    • delete-key
  • enc(선택 사항): 데이터 인코딩 사양입니다. 지원되는 값은 다음과 같습니다.

    • utf8 또는 UTF8(기본값)
    • latin1 또는 LATIN1

모든 JSON 필드 이름(key, data, action, enc)은 대/소문자를 구분하며 소문자여야 합니다.

JSON 유효성 검사 규칙

  • key 필드는 필수이며 null이거나 비워 둘 수 없습니다.
  • update 작업의 경우 data 필드는 필수이며 비워 둘 수 없습니다.
  • delete-field 작업의 경우 data 필드에 삭제할 필드가 있어야 합니다.
  • delete-key 작업의 경우 data 필드가 없어야 합니다.
  • 지원되는 인코딩 값은 대소문자를 구분하지 않으며 표준 문자 세트 이름을 포함합니다.

JSON 예

JSON 파일에 있는 JSON 레코드의 일부 예.

기본 업데이트 기록

code language-json
{"key": "product123", "data": {"Product Name": "Basketball Shoes", "Brand": "Brand A", "Category": "Sports"}}

지정된 인코딩으로 업데이트

code language-json
{"key": "product456", "enc": "utf8", "data": {"Product Name": "Running Shoes", "Brand": "Brand B"}}

특정 필드 삭제

code language-json
{"key": "product789", "action": "delete-field", "data": {"Brand": null, "Category": null}}

전체 키 삭제

code language-json
{"key": "product999", "action": "delete-key"}
CSV 형식 세부 정보

CSV(쉼표로 구분된 값) 파일은 쉼표를 사용하여 분류 데이터 필드를 구분합니다.

CSV 구조

  • 머리글 행: 첫 번째 행에는 열 머리글이 포함되어야 하며 첫 번째 열은 키 열이어야 합니다. 후속 열은 분류 세트 스키마의 이름과 일치해야 합니다.
  • 데이터 행: 각 후속 행에 분류 데이터가 포함되어 있습니다.
  • 구분 기호: 필드는 쉼표로 구분됩니다.
  • Quoting: 쉼표, 따옴표 또는 줄바꿈을 포함하는 필드는 큰따옴표로 묶어야 합니다.

CSV 형식 규칙

  • 쉼표가 포함된 필드는 큰따옴표로 묶어야 합니다.
  • 큰따옴표가 포함된 필드는 큰따옴표("")를 두 배로 늘려 이스케이프 처리를 해야 합니다.
  • 빈 필드는 해당 분류에 대한 null 값을 나타냅니다.
  • 필드 주위의 선행 및 후행 공백은 자동으로 트리밍됩니다.
  • 따옴표 붙은 필드 내의 특수 문자(탭, 줄 바꿈)는 유지됩니다.

CSV 삭제 작업

  • 모든 필드에서 ~deletekey~을(를) 사용하여 전체 키와 모든 해당 분류 데이터를 삭제합니다.
  • 특정 필드에서 ~empty~을(를) 사용하여 해당 분류 값만 삭제합니다(다른 필드는 그대로 유지).
  • ~empty~을(를) 사용하는 경우 같은 파일의 업데이트와 함께 삭제를 혼합할 수 있습니다

CSV 예

CSV 파일의 CSV 레코드 중 일부 예입니다.

기본 분류 데이터

code language-csv
Key,Product Name,Brand,Category,Price
product123,"Basketball Shoes",Brand A,Sports,89.99
product456,"Running Shoes",Brand B,Sports,79.99
product789,"Winter Jacket",Brand C,Clothing,149.99

전체 키 삭제

code language-csv
Key,Product Name,Brand,Category,Price
product999,~deletekey~,,,

특정 필드 삭제(업데이트와 혼합)

code language-csv
Key,Product Name,Brand,Category,Price
product123,"Updated Product Name",Brand A,Sports,89.99
product456,,~empty~,~empty~,79.99
TSV 및 탭 형식 세부 정보
note
NOTE
확장명이 .tab인 파일은 브라우저 업로드에만 지원됩니다. 분류 API은(는) 파일 내용이 탭으로 구분된 경우에도 .tab 파일 형식을 허용하지 않습니다. API 업로드의 경우 대신 .tsv 확장을 사용합니다(또는 .json 또는 .csv).

TSV(탭으로 구분된 값) 및 TAB 파일은 탭 문자를 사용하여 분류 데이터 필드를 구분합니다.

TSV 및 탭 구조

  • 머리글 행: 첫 번째 행에는 열 머리글이 포함되어야 하며 첫 번째 열은 키 열이어야 합니다. 후속 열은 분류 세트 스키마의 이름과 일치해야 합니다.
  • 데이터 행: 후속 행마다 분류 데이터가 있습니다.
  • 구분 기호: 필드가 탭 문자(\t)로 구분됩니다.
  • 따옴표: 일반적으로 따옴표는 필요하지 않지만 일부 구현은 따옴표 붙은 필드를 지원합니다.

TSV 및 탭 서식 규칙

  • 필드는 단일 탭 문자로 구분됩니다.
  • 빈 필드(연속 탭)는 null 값을 나타냅니다.
  • 일반적으로 특별한 견적은 필요하지 않습니다.
  • 선행 및 후행 공백은 그대로 유지됩니다.
  • 필드 내에 줄 바꿈 문자는 사용하지 않아야 합니다.

TSV 및 탭 삭제 작업

  • 모든 필드에서 ~deletekey~을(를) 사용하여 전체 키와 모든 해당 분류 데이터를 삭제합니다.
  • 특정 필드에서 ~empty~을(를) 사용하여 해당 분류 값만 삭제합니다(다른 필드는 그대로 유지).
  • ~empty~을(를) 사용하는 경우 같은 파일의 업데이트와 함께 삭제를 혼합할 수 있습니다.

TSV 및 탭 예

TSV 또는 TAB 파일에 있는 TSV 또는 탭으로 구분된 레코드의 일부 예.

기본 분류 데이터

code language-tsv
Key    Product Name    Brand    Category    Price
product123    Basketball Shoes    Brand A    Sports    89.99
product456    Running Shoes    Brand B    Sports    79.99
product789    Winter Jacket    Brand C    Clothing    149.99

전체 키 삭제

code language-tsv
Key    Product Name    Brand    Category    Price
product999    ~deletekey~

특정 필드 삭제(업데이트와 혼합)

code language-tsv
Key    Product Name    Brand    Category    Price
product123    Updated Product Name    Brand A    Sports    89.99
product456        ~empty~    ~empty~    79.99

오류 처리

파일 업로드 시 발생하는 일반적인 문제 및 해결 방법:

일반 파일 형식 오류

  • 잘못된 파일 형식: 파일 확장명이 콘텐츠 형식(.json, .csv, .tsv 또는 .tab)과 일치하는지 확인하십시오.
  • 알 수 없는 헤더: 열 이름이 분류 세트 스키마와 일치해야 합니다(모든 형식에 적용).

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 형식, 누락된 따옴표, 쉼표, 대괄호 등을 확인합니다.

CSV 및 TSV 관련 오류

  • 첫 번째 열은 키여야 합니다: CSV 또는 TSV 파일에 먼저 키 열과 함께 적절한 머리글 행이 있는지 확인하십시오.
  • 최소 두 개의 헤더 항목이 필요합니다: CSV 또는 TSV 파일에는 최소 Key 열과 하나의 분류 열이 있어야 합니다.
  • 첫 번째 헤더 열은 'Key’로 호출해야 합니다: 첫 번째 열 헤더는 정확히 Key이어야 합니다(대문자 K, 대/소문자 구분).
  • 빈 헤더가 허용되지 않습니다: 모든 CSV/TSV 열 헤더에 이름이 있어야 합니다.
  • 열 수가 헤더와 일치하지 않습니다: 각 CSV 또는 TSV 데이터 행의 필드 수가 헤더 행과 같아야 합니다.
  • "잘못된 형식의 문서: CSV 따옴표, TSV 파일에서 적절한 탭 구분 등을 확인하십시오.

크기 제한 오류

  • 키가 최대 크기를 초과합니다: 개별 키는 255바이트를 초과할 수 없습니다.
  • 열 값이 최대 크기를 초과합니다: 개별 분류 값은 255바이트를 초과할 수 없습니다.

모범 사례

  • 파일 크기: 50MB는 브라우저 및 API 업로드의 최대 파일 크기입니다.
  • 일괄 처리: 대용량 데이터 세트의 경우 더 작은 파일로 분할하는 것이 좋습니다.
  • 데이터 유효성 검사: 큰 데이터 세트를 업로드하기 전에 작은 샘플 파일로 테스트합니다.
  • 백업: 원본 데이터 파일의 복사본을 보관합니다.
  • 증분 업데이트: 개별 레코드 업데이트 및 삭제를 정확하게 제어하기 위해 JSON 형식을 사용합니다.
recommendation-more-help
analytics-help-components