次の例で、REPEATEDフィールドの私の理解を確認してください。
{
"title": "History of Alphabet",
"author": [
{
"name": "Larry"
},
]
}
このJSONにはスキーマがあります:
[
{
"name": "title",
"type": "STRING"
},
{
"name": "author",
"type": "RECORD",
"fields": [
{
"name": "name",
"type": "STRING"
}
]
}
]
しかし、次のJSON
{
"title": "History of Alphabet",
"author": ["Larry", "Steve", "Eric"]
}
スキーマがあります:
[
{
"name": "title",
"type": "STRING"
},
{
"name": "author",
"type": "STRING",
"mode": "REPEATED"
}
]
これは正しいです?
nb: documentation を試してみましたが、これについての説明はありません。
閉じる。最初の例では、author
はオブジェクトの配列で、BQで繰り返されるレコードに対応しています。したがって、スキーマは次のようになります。
[
{
"name": "title",
"type": "STRING"
},
{
"name": "author",
"type": "RECORD",
"mode": "REPEATED", <--- NOTE!
"fields": [
{
"name": "name",
"type": "STRING"
}
]
}
]
2番目のデータとスキーマのペアは適切に見えます(ただし、スキーマ全体はオブジェクトではなく配列であり、要素間にコンマが必要です)。
ネストされたフィールドと繰り返しフィールドについては、ここでいくつかの議論があります: https://cloud.google.com/bigquery/docs/data?hl=en#nested
ここにはいくつかのサンプルJSONデータオブジェクトもあります。 https://cloud.google.com/bigquery/preparing-data-for-bigquery#dataformats
しかし、これらのオブジェクトがBQスキーマにどのようにマップされるかを説明するのはうまくいきません。申し訳ありません!