分類セットファイル形式
分類セットは、分類データをアップロードするための複数のファイル形式をサポートしています。 各フォーマットには、データのアップロードを成功させるための特定の要件があります。
これらの仕様に従ってファイルが適切にフォーマットされたら、分類セットインターフェイスまたはAPIを介してデータをアップロードできます。 詳細なアップロード手順については、次を参照してください。
- ブラウザーのアップロード:分類セットについては、 スキーマ インターフェイスの アップロード を参照してください。
- API アップロード: Analytics Classifications APIを参照してください
分類セットでは、次のファイル形式をサポートしています。
- JSON:構造化データを含むJavaScript Object Notation ファイル
- CSV: コンマ区切りの値ファイル
- TSVまたはTAB: タブ区切りの値ファイル
一般的なファイル要件
すべてのファイル形式は、次の要件に準拠している必要があります。
- ファイルエンコーディング:バイトオーダーマークなしでUTF-8を使用します。 Latin1 エンコーディングもサポートされています。
- 文字制限:個々の分類値の上限は255 バイトです。
- キー要件: キー値を空にしたり、空白のみを含めたりすることはできません。 重複するキーが存在する場合は、最後に発生したものが使用されます。
JSON ファイル形式は、JSON ライン(JSONL)の規則に従います。 ファイルには、行ごとに1つのJSON オブジェクトを含める必要があります。各オブジェクトは、1つの分類レコードを表します。
| note |
|---|
| NOTE |
JSON行の規則に従っていても、すべてのアップロードに.json ファイル拡張子を使用してください。 .jsonl拡張機能を使用すると、エラーが発生する可能性があります。 |
JSON構造
各JSON オブジェクトには、次を含める必要があります。
-
key(必須):分類レコードの一意のID -
data(更新に必要):分類列名とその値を含むオブジェクト -
action(オプション):実行するアクション。 次の値がサポートされています。update(アクションが指定されていない場合の既定のアクション)delete-fielddelete-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 |
|---|
|
エンコーディングを指定して更新
| code language-json |
|---|
|
特定のフィールドの削除
| code language-json |
|---|
|
キー全体を削除
| code language-json |
|---|
|
CSV (コンマ区切り値)ファイルでは、分類データフィールドを区切るためにコンマを使用します。
CSV構造
- ヘッダー行:最初の行には列ヘッダーを含める必要があり、最初の列はキー列である必要があります。 後続の列は、分類セットスキーマの名前と一致する必要があります
- データ行:後続の各行には分類データが含まれています
- 区切り記号: フィールドはコンマで区切られます
- 引用: コンマ、引用符、または改行を含むフィールドは、二重引用符で囲む必要があります
CSV形式ルール
- コンマを含むフィールドは、二重引用符で囲む必要があります。
- 二重引用符を含むフィールドは、二重引用符(
"")をエスケープする必要があります。 - 空のフィールドは、その分類のnull値を表します。
- フィールドの前後のスペースは自動的にトリミングされます。
- 引用符で囲まれたフィールド内の特殊文字(タブ、改行)は保持されます。
CSV削除操作
- 任意のフィールドで
~deletekey~を使用して、キー全体とそのすべての分類データを削除します - 特定のフィールドで
~empty~を使用して、それらの分類値のみを削除します(他のフィールドはそのままになります) ~empty~を使用する場合、同じファイル内の更新と削除を混在させることができます
CSVの例
CSV ファイル内のCSV レコードの例をいくつか示します。
基本的な分類データ
| code language-csv |
|---|
|
キー全体を削除
| code language-csv |
|---|
|
特定のフィールドを削除(更新と混在)
| code language-csv |
|---|
|
TSV (タブ区切り値)およびTAB ファイルは、分類データフィールドを区切るためにタブ文字を使用します。
TSVとTABの構造
- ヘッダー行:最初の行には列ヘッダーを含める必要があり、最初の列はキー列である必要があります。 後続の列は、分類セットスキーマの名前と一致する必要があります。
- データ行:後続の各行には分類データが含まれます。
- 区切り記号: フィールドはタブ文字(
\t)で区切られます。 - 引用:通常、引用符は必要ありませんが、一部の実装では引用符で囲まれたフィールドをサポートしています。
TSVとTABの書式設定ルール
- フィールドは、1つのタブ文字で区切られます。
- 空のフィールド(連続したタブ)はnull値を表します。
- 通常、特別な見積もりは必要ありません。
- 先頭と末尾のスペースは保持されます。
- フィールド内の改行文字は避ける必要があります。
TSVおよびTABの削除操作
- 任意のフィールドで
~deletekey~を使用して、キー全体とそのすべての分類データを削除します。 - 特定のフィールドで
~empty~を使用して、それらの分類値のみを削除します(他のフィールドはそのままになります)。 ~empty~を使用する場合、同じファイル内の更新と削除を混在させることができます。
TSVとTABの例
TSVまたはTAB ファイル内のTSVまたはTAB区切りレコードの例。
基本的な分類データ
| code language-tsv |
|---|
|
キー全体を削除
| code language-tsv |
|---|
|
特定のフィールドを削除(更新と混在)
| code language-tsv |
|---|
|
エラー処理
ファイルをアップロードする際の一般的な問題と解決策:
一般的なファイル形式エラー
- 無効なファイル形式:ファイル拡張子がコンテンツ形式(
.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 ファイルに、最初にキー列を含む適切なヘッダー行があることを確認します。
- 最低2つのヘッダー項目が必要です: CSVまたはTSV ファイルには、少なくとも
Key列と1つの分類列が必要です。 - 最初のヘッダー列は「キー」と呼ぶ必要があります:最初の列ヘッダーは正確に
Key(大文字と小文字を区別する)である必要があります。K - 空白ヘッダーは使用できません:すべてのCSV/TSV列ヘッダーには名前が必要です。
- 列数がヘッダーと一致しませんでした:各CSV データ行またはTSV データ行には、ヘッダー行と同じ数のフィールドが必要です。
- "形式が正しくないドキュメント: CSVの引用、TSV ファイル内の適切なタブの分離などを確認してください。
サイズ制限エラー
- キーが最大サイズを超えています:個々のキーは255 バイトを超えることはできません。
- 列値が最大サイズを超えています。個々の分類値は255 バイトを超えることはできません。
ベストプラクティス
- ファイルサイズ: 50 MBは、ブラウザーおよびAPI アップロードの最大ファイルサイズです。
- バッチ処理:大きなデータセットの場合は、小さなファイルに分割することを検討してください。
- データ検証:大きなデータセットをアップロードする前に、小さなサンプルファイルでテストします。
- バックアップ:ソースデータファイルのコピーを保持します。
- 増分更新: JSON形式を使用して、個々のレコードの更新と削除を正確に制御します。