当前位置: 首页 > 知识库问答 >
问题:

到BigQuery配额的数据流

拓拔俊德
2023-03-14

我发现了几个相关的问题,但谷歌团队对这个问题没有明确的答案:

是一个Cloud DataFlow作业,写入BigQuery,限制为每秒100K行每表(即BigQuery)的配额。BQ流限制)?

google数据流写入bigquery表性能

云数据流性能——我们的时代是否值得期待?

编辑:主要动机是找到一种方法来预测各种输入大小的运行时。

我成功地运行了显示

共有1个答案

夔建章
2023-03-14

从您的消息中,听起来您是在批量而不是流式模式中执行管道。

在批处理模式下,在谷歌云数据流服务上运行的作业不使用BigQuery的流写入。相反,我们将所有要导入到GCS上的文件的行写入,然后调用“大查询加载”作业。请注意,这降低了您的成本(加载作业比流式写入便宜),并且总体上更高效(BigQuery执行批量加载可能比执行每行导入更快)。权衡的结果是,在整个作业成功完成之前,BigQuery中不提供任何结果。

加载作业不受特定行数/秒的限制,而是受每日配额的限制。

在流模式下,数据流确实使用BigQuery的流写入。在这种情况下,每秒100,000行的限制确实适用。如果超过该限制,Dataflow将得到一个quota_exceeded错误,然后将重试失败的插入。这种行为将有助于消除暂时超过BigQuery配额的短期峰值;如果您的管道长时间超过配额,这种失败和重试策略最终将作为一种反压力,减缓管道速度。

--

至于为什么您的作业需要2小时而不是45分钟,您的作业将有多个阶段连续进行,因此使用最快阶段的吞吐量不是估计端到端运行时间的准确方法。例如,直到数据流完成将所有行写入GCS之后,才会启动BigQuery加载作业。您的费率似乎合理,但如果您怀疑性能下降,请跟进。

 类似资料:
  • 我的管道是IoTCore->pub/sub->Dataflow->bigQuery。最初,我得到的数据是Json格式的,管道工作正常。现在我需要转向csv,问题是我使用的Google定义的数据流模板使用Json输入而不是csv。是否有一种简单的方法通过数据流将csv数据从pub/sub转移到bigquery。模板可能会改变,但它是用Java实现的,我从来没有用过,所以需要很长时间来实现。我还考虑过

  • 如何使用带有DataflowRunner的apache光束从Google BigQuery数据集获取表列表? 我找不到如何从指定的数据集中获取表。我想使用数据流的并行处理编程模型将表从位于美国的数据集迁移到位于欧盟的数据集。

  • 我有一个JavaScript代码,它将字符串保存到本地存储,字符串大小是400000, 在这台计算机中,我允许节省字符串长度不超过100000个字符。两台电脑都有相同的Chrome版本35.0.1916.114m为什么?

  • 我一直尝试将此csv上传到google Bigquery,但我总是出错。 读取数据时出错,错误消息:CSV表遇到太多错误,放弃。行数:303;错误:1。有关详细信息,请查看错误[]集合。读取数据时出错,错误消息:无效时区:PM;无法将“09/09/2006 11:45:00 PM”解析为从位置71061开始的字段日期(位置2)的日期时间 是这个csv文件。我得到了上面的错误。 https://ib

  • 问题内容: 我正在尝试通过API将bigquery数据导出到Google云存储桶。我从这里https://cloud.google.com/bigquery/docs/exporting- data 修改了代码段 由于数据是嵌套的,因此无法与“ JSON”交换格式,因此无法将其与“ gs://mybucket/export_*.json”导出为CSV和gcsUrl。但是错误消息告诉我以下问题: 有

  • 通过数据类,我们可以方便地得到很多有趣的函数,一部分是来自属性,我们之前已经讲过(从编写getter和setter函数): equals(): 它可以比较两个对象的属性来确保他们是相同的。 hashCode(): 我们可以得到一个hash值,也是从属性中计算出来的。 copy(): 你可以拷贝一个对象,可以根据你的需要去修改里面的属性。我们会在稍后的例子中看到。 一系列可以映射对象到变量中的函数。