gpt4 book ai didi

json - 将 JSON 文件加载到 BigQuery 表 : Schema changes

转载 作者:行者123 更新时间:2023-12-04 03:19:48 24 4
gpt4 key购买 nike

我正在尝试将 json 文件加载到 BQ 表中。我的架构看起来像:

{"_eventid": "1234", "Keywords":""}
{"_eventid": "4567", "Keywords":{"_text":"abcd"} }

从上面可以看出,“关键字”的架构发生了变化。我该如何处理?使用类似的东西:

  {
"name":"Keywords",
"type":"record",
"mode":"nullable",
"fields": [
{
"name":"_text",
"type":"string",
"mode":"nullable"
}
]
},

仅适用于第二个条目。首先,我收到错误:

Errors:
file-00000000: JSON table encountered too many errors, giving up. Rows: 1; errors: 1. (error code: invalid)
JSON parsing error in row starting at position 0 at file: file- 00000000. Flat value specified for record field. Field: Keywords; Value: (error code: invalid)

最佳答案

简答

Bigquery 表受模式限制。每当我们尝试获取不符合表模式的数据时,我们都会出错。在您的情况下,第一条记录中 Keywords 的值是字符串,但在模式中它是用一个名称为 _text 的可空字段记录的。

解决方法

您需要在将数据加载到 bigquery 之前对其进行预处理。如果您有小的 json 文件,您可以编写脚本并检查 Keywords 的类型是记录还是字符串,如果是字符串,则首先创建记录。所以在预处理文件内容后看起来像:

{"_eventid": "1234", "Keywords":{"_text": ""}}
{"_eventid": "4567", "Keywords":{"_text":"abcd"} }

根据您的架构 关键字 是可为空的记录。您甚至可以在预处理期间忽略值为空的 keywords。在此步骤之后,输入文件将变为。

{"_eventid": "1234"}
{"_eventid": "4567", "Keywords":{"_text":"abcd"} }

关于json - 将 JSON 文件加载到 BigQuery 表 : Schema changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39169804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com