可以在BigQuery表中使用每小时分区吗?

时间:2017-01-12 15:48:01

标签: google-bigquery

Google文档仅讨论每日分区。但是模型中是否有任何东西阻碍了在其他时间段(例如,小时或一周)的表格中填充分区?

在"小"中使用分区是否有任何限制或缺点?表

3 个答案:

答案 0 :(得分:7)

目前支持仅DAY 分区表。不支持每小时或每月。新功能有几个功能请求,但没有实现的时间表。您可以在故障单上注释并添加用例以传播信息。

https://cloud.google.com/bigquery/docs/partitioned-tables

相关功能请求:

更新* 8月2018年

Introduction to Clustered Tables - 您现在可以按天分区,然后通过任何其他列(例如小时/分钟)进一步对您的表进行群集。

  

群集可以提高某些类型查询的性能   例如使用过滤子句的查询和聚合的查询   数据。通过查询作业或数据将数据写入群集表时   加载作业,BigQuery使用聚类中的值对数据进行排序   列。这些值用于将数据组织成多个   BigQuery存储中的块。当您提交包含的查询时   基于聚类列BigQuery过滤数据的子句   使用已排序的块来消除对不必要数据的扫描。

答案 1 :(得分:1)

是的,现在Big Query支持按获取时间进行每小时分区。

这里是documentation

答案 2 :(得分:0)

是的。
现在,Big Query通过使用TIMESTAMP_TRUNC支持基于 any TIMESTAMP字段的每小时分区,而不仅是基于摄取时间的每小时分区:

using (var connection = new SqlConnection("Enter Your Connection String"))
    {
        connection.Open();
    
        using (var command = connection.CreateCommand())
        {
            command.CommandText = "Enter the First Command Here";
            command.ExecuteNonQuery();
    
            command.CommandText = "Enter Second Comand Here";
            command.ExecuteNonQuery();

    //Similarly You can Add Multiple
        }
    }