Bigquery JSON-不允许嵌套数组错误疑难解答
这里是bigquery的新成员。我一直在关注如何创建一个空模式,如何对json数据执行bq加载作业,以及如何处理在bq加载作业期间收到的每个错误消息 有一条错误消息给我带来了一些麻烦,除了这是一个嵌套数组错误之外,关于该消息的详细信息没有太大帮助Bigquery JSON-不允许嵌套数组错误疑难解答,json,google-cloud-platform,google-bigquery,Json,Google Cloud Platform,Google Bigquery,这里是bigquery的新成员。我一直在关注如何创建一个空模式,如何对json数据执行bq加载作业,以及如何处理在bq加载作业期间收到的每个错误消息 有一条错误消息给我带来了一些麻烦,除了这是一个嵌套数组错误之外,关于该消息的详细信息没有太大帮助 Error while reading data, error message: JSON table encountered too many errors, giving up. Rows: 1; errors: 1. Please look in
Error while reading data, error message: JSON table
encountered too many errors, giving up. Rows: 1; errors: 1. Please look into the errors[] collection for more details.
Failure details:
- Error while reading data, error message: JSON processing
encountered too many errors, giving up. Rows: 1; errors: 1; max
bad: 0; error percent: 0
- Error while reading data, error message: JSON parsing error in row
starting at position 0: Nested arrays not allowed.
下面是一个JSON文件,我使用它根据成功创建的模式创建了一个空表。这样,我假设这个数据模式是有效的,但是当我尝试用我的数据加载作业时,我得到了上面的错误
有人能给我指出一个正确的地方来寻找我为什么会犯这个错误吗?“标记”子字段中的数组是否违反此“嵌套数组”规则?如果是这样,为什么bq mk语句会使用模式创建一个空表?我看到了bigquery的有效数据模式的例子,但在我的例子中不允许这样做
感谢您的指导。谢谢
[
{
"name":"team_name",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"team_attributes",
"type":"RECORD",
"mode":"NULLABLE",
"fields": [
{
"name":"team_attributes_raw",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"team_country",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"team_type",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"tags",
"type":"STRING",
"mode":"REPEATED"
}
]
},
{
"name":"players",
"type":"RECORD",
"mode":"REPEATED",
"fields": [
{
"name":"player_key",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"player_attributes",
"type":"RECORD",
"mode":"NULLABLE",
"fields": [
{
"name":"player_name",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"product_url",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"measurement",
"type":"RECORD",
"mode":"NULLABLE",
"fields": [
{
"name":"measurement_raw",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"player_weight",
"type":"FLOAT",
"mode":"NULLABLE"
},
{
"name":"player_unit_of_measurement",
"type":"STRING",
"mode":"NULLABLE"
},
{
"name":"tags",
"type":"STRING",
"mode":"REPEATED"
}
]
}
]
}
]
}
]
事实证明,该模式是完全可以接受的(由用于创建表的'bq mk'命令测试)。错误由重复字段(数组)中的一个元素给出,如下所示
["1", [] ]
下次再做三次检查!你能提供JSON文件的第一行吗?事实上,我刚刚算出了。我最终得到了一个值,它也是team_attributes->tags字段中的一个列表(这恰好是一个可接受的数组,因为它是显式定义的)。我将在下面更新我的答案并结束这个问题。谢谢!