BigQuery 双重导入

Posted

技术标签:

【中文标题】BigQuery 双重导入【英文标题】:BigQuery Double Imports 【发布时间】:2012-06-17 14:11:16 【问题描述】:

我正在使用来自应用引擎的 Google BigQuery。我有一个每 15 分钟运行一次的 cron 作业来导出到 BigQuery。不过,导入会随机运行两次。但是,appengine 日志没有反映这一点。我有一组我维护的 blob 用于将数据写入 bigquery,并且不会将重复的数据写入它们。有没有其他人遇到过重复导入的 bigquery 问题?同样,我的 appengine 日志显示导入只发生了一次,我不知道如何进行故障排除。

【问题讨论】:

【参考方案1】:

解决问题的一种方法是查看您的导入作业。您可以使用 bq 工具执行此操作,方法是运行 bq ls -j 列出您已运行的作业,并运行 bq show -j <job_id> 显示有关特定作业的详细信息。

我们没有听说过任何其他重复加载的案例。防止这种情况的一种方法是为您的导入作业提供一个 id ... 默认情况下会为您创建一个(它看起来像 job_)。作业 id 在项目中被强制要求是唯一的,因此如果您为每次要执行的导入生成一个 id,如果触发了双重导入,第二个将立即失败,因为作业 id 已经存在。

【讨论】:

非常有价值的信息!!!尤其是职位名称。不知道它在这方面与任务队列具有相同的语义【参考方案2】:

我面临着同样的问题,即作业似乎已导入两次,即使我们的日志显示它只提交了一次。

还查看了作业,上面的命令显示它只成功处理了一次。

请注意,由于作业仅提交一次,因此不确定在这种情况下控制 job_id 会有什么帮助。似乎是 BigQuery 内部的某些东西可能导致作业重复?

如果您需要我的任何东西进行调查,请告诉我。

谢谢,

【讨论】:

以上是关于BigQuery 双重导入的主要内容,如果未能解决你的问题,请参考以下文章

导入 GoogleCredentials 以连接到 BigQuery

将 XLS 文件从 GCS 导入 BigQuery

ImportError:无法导入名称“bigquery”

ImportError:无法从“google.cloud”(未知位置)导入名称“bigquery”

我们可以将 BigQuery 中的数据导入 Google 表格吗?

BigQuery 是不是支持批量导入模板表?