外部行のエンコーディング形式を次のように指定します。
ROWFORMAT('{"field_delimiter":",", "record_delimiter":"\n", "character_set":"LATIN"}')
ROWFORMAT指定では、ROWFORMATが他のデータ型の形式を指定している場合でも、JSON形式が使用されます。ROWFORMATには上記の3つのキーのみを含めることができ、field_delimiterはCSVデータでのみ有効です。キー名と値は大文字と小文字の区別がありますが、大文字小文字の組み合わせを使用できる"character_set"の値ではその限りではありません。
ペイロード列がDATASET CSV … WITH SCHEMAデータ型を持つように定義される場合、スキーマ情報がROWFORMATの指定よりも優先されます。
ROWFORMAT文字セット指定は、ペイロード列文字セットと互換性がなければなりません。
Parquet形式のデータにROWFORMATを指定しないでください。
JSON列の文字セット定義それぞれにおいて、デフォルト値は以下のとおりです。
文字セット | デフォルトの定義 |
---|---|
UNICODE | ROWFORMAT('{"record_delimiter":"\n", "character_set":"UTF8"}') |
LATIN | ROWFORMAT('{"record_delimiter":"\n", "character_set":"LATIN"}') |
CSV列の文字セット定義それぞれにおいて、デフォルト値は以下のとおりです。
文字セット | デフォルトの定義 |
---|---|
UNICODE | ROWFORMAT('{"character_set":"UTF8"}') |
LATIN | ROWFORMAT('{"character_set":"LATIN"}') |
以下のオプションを指定できます(大文字と小文字の区別あり)。
- field_delimiter
- デフォルトは","(カンマ)です。カスタムのフィールド区切り記号(タブ"\t"など)を指定することもできます。field_delimiterは、CSVデータに対してのみ有効です。CSVデータがCSVスキーマに関連付けられており、スキーマがフィールド区切り記号も指定している場合、スキーマの指定がROWFORMATの指定よりも優先されます。CSVスキーマの詳細については、CSVファイル ヘッダーとスキーマを参照してください。
- record_delimiter
- 改行文字: "\n"。レコード区切り記号は改行文字でなければなりません。
- character_set
- "UTF8"または"LATIN"