Google bigquery 在BigQuery中加载可为空的重复字段

Google bigquery 在BigQuery中加载可为空的重复字段,google-bigquery,Google Bigquery,我有一个类似这样的JSON负载,我想将它流式插入到我正在管理的表中: { “字段1”:“值1”, “字段2”:[“值1”、“值2”], } 有时,JSON中根本不存在字段2。我原以为类型为“STRING”的重复字段可以为null,但API中出现了insert错误,表示它不能为空 我正在从python进行加载,以便在必要时进行转换,我只是不确定设置模式和JSON有效负载的最佳方法。我想我已经能够使用insert\u rows方法重现您的问题,我将假设这就是您使用的方法。该方法返回的错误为[1]。如

我有一个类似这样的JSON负载,我想将它流式插入到我正在管理的表中:

{ “字段1”:“值1”, “字段2”:[“值1”、“值2”], }

有时,JSON中根本不存在字段2。我原以为类型为“STRING”的重复字段可以为null,但API中出现了insert错误,表示它不能为空


我正在从python进行加载,以便在必要时进行转换,我只是不确定设置模式和JSON有效负载的最佳方法。

我想我已经能够使用insert\u rows方法重现您的问题,我将假设这就是您使用的方法。该方法返回的错误为[1]。如果您以不同的方式访问API或遇到不同的错误,请告诉我

这个库的方法似乎存在一个问题,因为重复字段并没有按照我们期望的方式处理

我已经填写了一个关于这个问题的问题[2]

作为一种解决方法,我建议使用insert\u rows\u json方法[3]。此方法与插入_行具有相同的功能,但不存在问题

[1] {'index':0,'errors':[{u'debugInfo':u'',u'reason':u'invalid',u'message':u'字段值不能为空。',u'location':u'field2'}]}

[2]


[3]

我应该提到,我正在使用python google cloud bigquery包插入行(来自使用google api python客户端库的Drive files:list方法)。我学到的是,如果重复记录在我的行中没有键,那么BigQuery将为该行返回一个错误。为了解决这个问题,我开始分析我的行,看看这个键是否存在,如果不存在,然后添加带有[]值的键。这让API很高兴。