使用 Java 从 BigQuery 到 BigQuery 表的表复制中的 JSON 解析错误

Posted

技术标签:

【中文标题】使用 Java 从 BigQuery 到 BigQuery 表的表复制中的 JSON 解析错误【英文标题】:JSON parsing error in table copy from BigQuery to BigQuery table using Java 【发布时间】:2018-04-28 21:31:23 【问题描述】:

我收到以下错误,同时我尝试简单地将数据从一个表复制到另一个表。临时文件已将表格行正确转换为 JSON 格式;但是,出现了这个错误:

JSON 临时文件:第 1 行 -> "field_0":"mango"

"读取数据时出错,错误信息:JSON 解析错误在行 从位置 0 开始:没有这样的字段:field_0"

【问题讨论】:

【参考方案1】:

对不起,由于我的声誉低,我无法发表评论,但我认为这个问题可能与JSON parsing error in row starting at position 0: . Row size is larger than: 2097152直接相关

您的 JSON 数据应如下所示:

"user_id":1,"address": "london", "birthday":xxxx
"user_id":2,"address": "london", "birthday":xxxx
"user_id":3,"address": "NY", "birthday":xxxx

不是

["user_id":1,"address": "london", "birthday":xxxx,
"user_id":2,"address": "london", "birthday":xxxx,
"user_id":3,"address": "NY", "birthday":xxxx]

支持JSON format。我认为您的表可以正确转换为 JSON 格式,但不是 BigQuery 期望的格式。

【讨论】:

以上是关于使用 Java 从 BigQuery 到 BigQuery 表的表复制中的 JSON 解析错误的主要内容,如果未能解决你的问题,请参考以下文章

Bigquery:检查流期间的重复项

JSON 表架构到 bigquery.TableSchema 用于 BigQuerySink

在bigquery中以编程方式更新/插入数据

Cloud Dataflow 中的“辅助输入”是不是支持从 BigQuery 视图中读取?

查找要插入 BigQuery 的列名

如何分别使用服务帐号和 API 密钥来使用 BigQuery?