json - Bigquery JSON - 嵌套数组不允许错误故障排除
问题描述
这里是 bigquery 的新手。我一直在关注有关如何创建空模式并对我的 json 数据执行 bq 加载作业并处理在 bq 加载作业期间收到的每条错误消息的文档。
有一条错误消息给我带来了一些麻烦,除了它是一个嵌套数组错误之外,围绕该消息的详细信息并没有太大帮助。
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", [] ]
下次检查三次!
推荐阅读
- mysql - MySQL 5.1 编码问题 Entity framework core
- apache-beam - 限制 Apache Beam 步骤的工作程序/线程数
- background - 如何解决“每一页”的 LaTeX 包警告?
- python - 如何使用 PySimpleGUI 创建允许我浏览文件的自定义按钮?
- flutter - 如何使按钮填充宽度
- angular - 为什么一个带有自定义指令的元素会触发 Angular 中的另一个元素更改事件?
- python - Timeit 以 int 范围作为函数的参数
- javascript - 哪个最快 - 纯组件、功能组件、类组件?[反应.js]
- javascript - 如何解决这个意外的令牌错误?
- android - android布局单独的资源文件夹