2016-08-17 137 views
0

我有一个问题,即使看到潜在的潜在问题,我也不明白。BigQuery中流式传输的可靠性

我想在日期T创建一个表,在其中流数据。 第二天,我在日期T删除表,在日期T + 1创建一个新表,然后流数据。 等等

问题发生在表创建和流之间。实际上,有时我会流式传输数据,实际上没有流式传输。通常当我在T日删除一个表并直接重新创建它时。

表删除和实际参考删除之间是否存在滞后? 有时Google会告诉我表格不存在......实际上它存在。

我用Java来做。汇编似乎很快,但实际参考似乎很久就会到来。

我把一个线程/睡眠2分钟的操作和仍然... 我可以等待10分钟或更多,但它会100%可靠吗?

感谢

+0

我问类似的东西在不久前,这是通过BigQuery预期的行为: http://stackoverflow.com/questions/36846571/bigquery-table-truncation-before-streaming-not-working 在这种情况下,分区表可能适合你(尽管我们无法在装饰表中流数据,但并没有帮助我们,所以我们每天都不停地创建表) –

回答

1

周围有你提到的情况下的电流限制,我们希望在未来解决。

我从你的帖子中收集你正在使用的日常表格?你有没有考虑过使用分区表的可能性。数据将自动进入最近一天的分区。您也可以设置数据到期日。如果您想手动删除分区中的数据,则可以使用allow_large_results和WRITE_TRUNCATE作为目标分区的查询。

https://cloud.google.com/bigquery/docs/creating-partitioned-tables

+0

谢谢你的回答,所以我没有在做梦^^也感谢提示,我使用它并在前一天创建下一张桌子,以便桌子在第二天可用。我还看到我的代码没有真正评估,因此在Clojure上返回流式响应,现在我也解决了它的自动化工作 –