【发布时间】:2018-10-29 07:38:58
【问题描述】:
我正在尝试使用 ruby 中的 load_job 从 GCS 文件的 bigquery 中执行加载操作。
问题是,当我在 GCS 中有多个文件影响不同的表时,有可能由于验证/网络问题而失败,从而导致 bigquery 中的数据不一致。 假设我想加载存储在 5 个文件中的最后一小时数据,即使其中 1 个加载作业失败,我也会得到用于分析的错误数据。
有没有一种方法可以在对 bigquery 的单个原子请求中批量处理所有这些加载作业?
【问题讨论】:
-
您分享了一些代码,您正在尝试如何做到这一点。您是否能够捕获失败并在出现错误时重试?临时表如何确保将数据正确移动到 bigquery,然后将它们移动到最终表?
-
@hlagos,即使我创建了临时表,在发送复制请求时这些问题仍然存在,因为它们也会在 BQ 中创建不同的作业,还是我用这种方法遗漏了什么?
-
如果您担心提交给 BQ 的网络错误,如果您确保所有数据都在 bigquery 中,则不应该是这种情况,我希望它会更加稳定数据在 bigquery 内的临时表中,并执行从表到表的操作
标签: google-bigquery