Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery Google Big Query-带有最终数据的日期分区表_Google Bigquery_Gcp - Fatal编程技术网

Google bigquery Google Big Query-带有最终数据的日期分区表

Google bigquery Google Big Query-带有最终数据的日期分区表,google-bigquery,gcp,Google Bigquery,Gcp,我们的BigQuery用例有点独特。我想开始使用,但我们的数据是非常最终的。它不会在发生时插入,但最终会在提供给服务器时插入。有时,在插入任何数据之前可能需要几天甚至几个月。因此,_PARTITION_LOAD_TIME属性对我们来说是无用的 我的问题是,有没有一种方法可以指定类似于_PARTITION_LOAD_TIME参数的列,并且仍然具有日期分区表的优点?如果我可以手动模拟并相应地更新BigQuery,那么我就可以开始使用日期分区表了 这里有什么好的解决方案吗?您不需要创建自己的专栏。 _

我们的BigQuery用例有点独特。我想开始使用,但我们的数据是非常最终的。它不会在发生时插入,但最终会在提供给服务器时插入。有时,在插入任何数据之前可能需要几天甚至几个月。因此,_PARTITION_LOAD_TIME属性对我们来说是无用的

我的问题是,有没有一种方法可以指定类似于_PARTITION_LOAD_TIME参数的列,并且仍然具有日期分区表的优点?如果我可以手动模拟并相应地更新BigQuery,那么我就可以开始使用日期分区表了


这里有什么好的解决方案吗?

您不需要创建自己的专栏。
_PARTITIONTIME伪列仍然适用于您
您需要做的唯一一件事是,不仅通过引用表名,而且通过引用带有分区装饰器的表,将相应的数据批插入/加载到相应的分区中,就像您的表$20160718

通过这种方式,您可以将数据加载到它所属的分区中,因为我已经在拆分表了。我只需要更改引用它的方式。:)如果有一个巨大的表,然后使用一列将其分隔成一个日分区表,会怎么样?这是可能的,还是最好创建单独的表,然后转换为日期时间表?如果您已经有日期表(带有YYMMDD后缀),我建议将它们转换为分区表-请参阅中的详细信息,我正在尝试,但没有前缀,它会抱怨。也就是说,我只是给他们命名了日期,就这样,但bq分区认为应该是nameDATE。有什么建议吗?;)我还没有尝试转换名为YYYYMMDD(不带前缀)的表。但作为解决方法,您可以将原始表复制到具有某些前缀的新表中,然后进行转换。注意:复制是免费的,所以应该是合理的解决办法。但总有一个更好的选择:o)