首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按周创建时间分区

问按周创建时间分区
EN

Stack Overflow用户
提问于 2022-03-16 09:07:31
回答 1查看 123关注 0票数 1

我正在尝试构建分区的大查询表,以前它是使用时间分区类型DAY构建的,但我想将它更改为week,我只是将Day更改为WEEEk,但得到了编译错误:

代码语言:javascript
复制
cannot find symbol
  symbol:   variable WEEk
  location: class com.google.cloud.bigquery.TimePartitioning.Type

所用的守则:

代码语言:javascript
复制
TimePartitioning.newBuilder(TimePartitioning.Type.DAY)
                                                    .setField("partition_year_month_day") //  name of the column used for partitioning
                                                    .build();
                                    StandardTableDefinition tableDefinition = StandardTableDefinition.newBuilder()
                                            .setSchema(schema)
                                            .setTimePartitioning(partitioning)
                                            .build();
                                    TableInfo tableInfo = TableInfo.of(tableId, tableDefinition);

                                    bigquery.create(tableInfo);

知道怎么把它按周划分吗?我知道可以根据这个链接将类型设置为月份、小时:https://googleapis.dev/python/bigquery/latest/generated/google.cloud.bigquery.table.TimePartitioning.html,但是有办法将分区划分为周吗?更新:我尝试按月进行分区,并得到了相同的错误:

代码语言:javascript
复制
cannot find symbol
[ERROR]   symbol:   variable MONTH
[ERROR]   location: class com.google.cloud.bigquery.TimePartitioning.Type
EN

回答 1

Stack Overflow用户

发布于 2022-03-17 10:52:45

目前不支持每周。根据关于TimePartitioning类型的正式java文档

受支持的类型是日、小时、月和年,这将分别生成一个分区(每天、小时、月份和年份)。未指定间隔时,默认行为为“天”。

另外,bigquery库的版本是什么?最新版本只支持月老版本(<= v1.117.3)日/小时。

注意事项:您可以在官方的github项目页面上检查bigquery库的TimePartitioning.java的当前代码。

正如注释中提到的,在google官方页面上有一个很好的代码示例来创建一个分区表。请查看有关创建时间单位列分区表的页面。另外,分区表的另一种选择是sharded tables,但我认为它不如分区与切分上记录的分区表那么理想。

最后,您可以请求问题跟踪器上的特性请求对当前库进行更新,或者在当前的github项目上留下一个悬而未决的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71494288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档