将数据流式传输到BigQuery全新表中?

时间:2017-10-23 12:38:39

标签: java google-bigquery

我正在使用Java API for google BigQuery将实时事件日志流式传输到数据库中。

由于事件的结构事先未知,我需要在事件开始时在java中执行表的实时创建。

这是通过致电bigQuery.create( tableInfo )来完成的。此调用是同步的,在此调用之后,根据BigQuery Web控制台创建具有预期结构的表。

但是,当我尝试通过

将数据流式传输到这个新创建的表中时
bigQuery.insertAll(request);

当表格实际存在时,BigQueryException会显示消息Not found: Table myProject.myDataset.myNewTableName! 等待几秒钟(大约30秒)后,流媒体开始正常工作 此外,即使调用bigQuery.listtables(dataset, tableListOptions)从服务器确认该表存在,也会出现问题!

查看谷歌文档后,

  

更改模板表架构后,请等到更改已传播,然后再尝试插入新数据或查询生成的表。插入新字段的请求应在几分钟内成功。尝试查询新字段可能需要更长的等待时间长达90分钟。

这是什么原因?流插入不能在新表上工作是正常行为吗?有解决方法吗?

欢迎任何关于这种情况的想法。

谢谢;)

0 个答案:

没有答案