google-bigquery - 我可以估算 BigQuery 运行导出作业所花费的时间吗?

标签 google-bigquery time-estimation

我正在创建一项服务,允许用户对 bigquery 数据应用过滤器并将其导出为 csv 或 json。有什么方法可以估算 bigquery 导出一组行所需的时间。

目前,我正在记录行数和完成导出作业所花费的时间。然后我取导出单行的平均时间来估算时间。但这肯定不是一个线性问题。

关于预测算法的任何建议也很好。

最佳答案

不幸的是,没有很好的方法来预测导出需要多长时间。 有很多因素:

  • 您的表被分解成多少个数据“碎片”。这与您的数据的可压缩性有关,并且在某种程度上与您将表加载到 bigquery 的方式有关。只要您传递“glob”路径作为提取目标(例如 gs://foo/bar/baz*.csv),BigQuery 就会尝试并行提取。
  • 表格的大小。
  • 并发运行的提取作业的数量。整体系统负载越高,可供提取作业使用的资源就越少。

由于这些因素中的大多数并不真正在您的控制之下,因此最佳做法是:

  • 始终传递 glob 路径作为目标路径,以便 bigquery 可以并行提取。
  • 如果您的表很小,您可以使用 tabledata.list 来提取数据而不是导出。

请注意,我们正在努力解决一些与提取性能有关的 Unresolved 错误。

关于google-bigquery - 我可以估算 BigQuery 运行导出作业所花费的时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25843929/

相关文章:

Firebase 收集流到 BigQuery 转换函数

Java线程获取已用时间::如何获取零钱

Java 下载文件并检索当前下载完成

sql - 交换表 google bigQuery

sql - 在Big Query中查询多个表

lua - 如何定时向第三方服务发送Redis数据?

language-agnostic - 在长时间运行的过程中以文本方式报告剩余时间的正确方法?

google-bigquery - 使用主题模式的 PubSub 和 BigQuery 订阅

asp.net - asp.net 中 SP 的估计成本

python - 估计 zip 大小/创建时间