17.10 - JSON外部ファイル - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

JSON外部データの各レコードは、1行でフォーマットされ、改行記号(\n)で終わる必要があります。

外部JSONファイルには、個別のレコードを含めることも、レコード区切り記号としてカンマ(,)を使用する単一JSON配列を含めることができます。単一配列のJSONファイルの場合、レコードは複数行にまたがることができます。必要に応じて、JSON配列に名前を付けることができます。

Vantageでは、外部ストレージの以下のJSONドキュメントを読み取ることができます。
 {"field1": true,"field2": "somestring","field3": {"field4": 1}}
Vantageでは、以下の形式で格納されている場合に外部JSONデータを読み取ることができません。これは改行があるためです。
{
    "field1" : true,
    "field2":
         "somestring",
    "field3":
    {
        "field4":1
    }
}
以下の外部JSONデータは単一配列なので(冒頭と末尾の角括弧記号で区切られる)、配列にある個別のレコードをカンマで区切ることで、Vantageでは埋め込みの改行があってもデータを読み取ることができます。
[{
                "field1": "string1", "field2": "string2"
}, {
                "field1": "string3", "field2": "string4"
}]

フィールド名は大文字と小文字を区別します。このため、Field1への参照は上記例の"field1"と一致しません。

フィールド名の引用符内にスペースがある場合とない場合は区別されます。このため、レコードに"field1 "があると、payload.field1への参照は一致しません。

名前付きJSON配列の例を次に示します。

{ "Fruits":     [        \{ "fruit": "Apple", "size": "Large", "color": "Red" }
,   

       { "fruit": "Banana", "size": "Medium", "color": "Yellow" },

       { "fruit": "Orange", "size": "Medium", "color": "Orange" },

       { "fruit": "Guava", "size": "Small", "color": "Green" },

       { "fruit": "Grapes", "size": "VerySmall", "color": "Black" }  

   ]

}

外部JSONファイルは、GZIP形式に圧縮できます。他のファイル圧縮形式はサポートされません。