如何计算查询bigquery的大小?
Posted
技术标签:
【中文标题】如何计算查询bigquery的大小?【英文标题】:how to calculate the size of the query bigquery? 【发布时间】:2016-05-18 15:15:12 【问题描述】:我们计划使用 bigquery 来存储我们的数据。也许表的大小约为 150GB。 但是在开始使用 bigquery 之前我们需要一些信息,尤其是价格 我的问题是: 1-如果我们有大约 150GB 的空间,我们每月需要为存储数据支付多少费用? 2-我们能否提供一些关于如何计算流数据大小的信息,例如插入? 3-对于查询,在文档中,提到大小是根据数据类型的大小计算的。 所以这意味着它仅基于数据类型或添加行的大小 例如:如果我有一个查询 从 table1 中选择 field1,field2,结果返回 10 行 field1 是整数类型 filed2 是字符串类型 所以这个查询的大小是 8bytes + 2bytes 或 (8bytes+2bytes)*结果的行数
非常感谢您的回复
【问题讨论】:
【参考方案1】:您有机会检查以下内容吗?
对于#1 - Storage Pricing 对于 #2 - Data Size Calculation 对于 #3 - Query Pricing 和 Sample query costs
简而言之 #1 - 存储 150GB 的费用为每月 3 美元。那些连续 90 天未编辑的表格将成为长期存储定价的对象
#3 - 只是按照你的思维方式 - 它将是 (8bytes+2bytes)*(整个表格中的行数) 注意 - in whole table
不仅仅是 in the result
。所以无论结果是 1 行还是结果 1000 行,成本都是一样的
【讨论】:
但是如何计算两个或多个表之间的左、右或内连接查询 是一样的。您计算每个表的相关列的大小并将它们求和。注意:每个表最小为 10MB。这意味着如果您只查询 1MB,您将支付 10MB 的费用。任何大小(每张桌子)都四舍五入到下一个 10MB 谢谢你的回复,所以是每列的大小*每张表的总行数 是的。连接中涉及的每个表的总扫描大小的总和。扫描的表大小为:已用/扫描列的大小 * 总行数四舍五入到最接近的 10MB 分区是您可以探索的方式 - 例如,如果您查询特定的一天或几天,每日分区将有所帮助,因此您可以缩小到特定的表。或者您可以按数据的其他重要属性进行分区 - 一切都取决于您的数据以上是关于如何计算查询bigquery的大小?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Apache Beam 向 BigQuery 传播插入时如何指定 insertId