BigQuery - 加载具有空值的 JSON 字段

Jeg*_*gan 5 google-bigquery

我正在尝试使用 java 客户端库将 json 文件加载到 Bigquery 中。一些 Json 字段填充为 null。加载失败,并显示 Bigquery 的以下错误。

{
    "reason": "invalid",
    "location": "File: 0 / Offset:0 / Line:1 / Column:1666 / Field:field1",
    "message": "flat value specified for record field"
}
Run Code Online (Sandbox Code Playgroud)

我的架构是这样的。

{
    "name": "field1",
    "type": "RECORD",
    "mode": "NULLABLE",
    "fields": [{
        "name": "field2",
        "type": "TIMESTAMP",
        "mode": "REQUIRED"
    },
    {
        "name": "field3",
        "type": "TIMESTAMP",
        "mode": "REQUIRED"
    }]
}
Run Code Online (Sandbox Code Playgroud)

而我的Json就是这个样子。

{
    ...
    "field1": null,
    ...
}
Run Code Online (Sandbox Code Playgroud)

我看到了这两个链接。

使用空值导入json数据使用bq将空值加载到bigquery中

不幸的是,我无法更改 json 以删除具有空值的字段。有没有办法在 Bigquery 中加载这样的 json?我在文档中找不到太多信息。请指点我一些文档或一些变通方法。谢谢你的时间。

Jer*_*dit 6

这是我们当前 JSON 导入的一个已知问题。不幸的是,加载空记录的唯一方法是完全从 JSON 中省略该记录,而不是将其显式设置为空。我会在内部提高该错误的优先级,但可能不会立即修复。

  • 仍然,它没有固定..?2年后? (3认同)