【问题标题】:Cost for scanning nested\repeated data in bigquery在 bigquery 中扫描嵌套\重复数据的成本
【发布时间】:2012-12-02 05:36:47
【问题描述】:

我知道在 bigquery 查询中扫描数据的定价取决于访问的列。 这如何处理嵌套和重复的数据? 是否扫描了每条记录的所有数据?或者,它是否取决于被扫描的节点?嵌套数据中的列是否被视为单独的列?

感谢您对此的任何澄清。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    这是一个很好的问题 - 简短的回答是肯定的,BigQuery 只处理您指定的嵌套节点。 BigQuery 的列式数据存储的一个有用特性是嵌套列可以表示为单独的列。如果您没有明确选择它们,则不会处理嵌套记录中的其他子字段。

    【讨论】:

    • 谢谢。所以,如果我有这样的嵌套记录: Person : Record name: string details: Record detail1:string detail2:string detail3:string 它是否仍然扫描所有 detail1,detail2 detail3 即使名称不符合条件查询?
    • 示例:如果您运行类似“SELECT AVG(Person.detail.age) FROM [your_dataset.your_table_id] WHERE Person.name = 'john';”的查询BigQuery 将扫描“Person.name”和“Person.detail.age”列中的所有数据。如果您的查询缺少 WHERE 子句,例如“SELECT AVG(Person.detail.age) FROM [your_dataset.your_table_id];”那么 BigQuery 将仅扫描“Person.detail.age”中的数据
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    相关资源
    最近更新 更多