BigQuery Java API - 无法为TableRow值发送空值

时间:2017-04-12 20:04:03

标签: google-bigquery

我尝试使用java big query api在BigQuery表上设置值,但每次发送空值时都会抛出NullPointerException(java.lang.NullPointerException: null value in entry: popup=null)。

null值应该完全可以接受,因为我的模式在模式本身是NULLABLE。我有很多其他字段,它们具有空值。

关于这个问题的任何建议对我来说都很有帮助,因为这个原因我没有被困在哪里。

注意:我可能会忽略并且不设置那些具有空值的字段,但这不是我要寻找的解决方案。我的代码如下:

TableRow row = new TableRow();
                row.set("ip", "test");
                row.set("popup", null);

1 个答案:

答案 0 :(得分:4)

不要将值显式设置为null。完全忽略它。如果BigQuery的有效负载中没有它,它将被设置为null。无论如何,您将无法将其设置为null,因为API正在检查null参数,并且您无法更改该行为。

所以,请改为:

TableRow row = new TableRow();
row.set("ip", "test");