首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用自定义架构定义月份时间划分

问使用自定义架构定义月份时间划分
EN

Stack Overflow用户
提问于 2022-04-28 10:46:09
回答 1查看 51关注 0票数 0

我正在寻找一种方法来定义自定义模式,该模式实现了一个基于月的日期分区。文档只提供了在timestamp或date级别执行此操作的方法。

文件

是否有一种无文档化的方法来定义处理此问题的自定义架构文件?或者是在白天级别迁移,然后在BigQuery中插入到用月份分区定义的表中呢?

EN

回答 1

Stack Overflow用户

发布于 2022-05-03 16:11:53

正如回答中提到的那样:

在Teradata中,您可能会发现trunc()是一个简单的方法: 选择a.id,a.name,a.number,a.date from (选择a.*,row_number() over (按trunc( date,'MON')按日期顺序划分)作为seqnum从tableA a)a a,其中seqnum = 1; Teradata还支持“资格”: 从a.id,a.name,a.number,a.date中选择tableA a tableA row_number() MON(按trunc( date,'MON')按日期顺序排列)=1

正如在文档中提到的,您可以参考以下解释:

分区主索引使Teradata能够对表或未压缩的联接索引的行进行分区,这样就可以有效地访问行子集,而无需进行全表扫描。如果分区表达式使用可更新的当前日期或可更新的当前时间戳定义,则可以将包含最近行的分区定义为尽可能窄,以优化对这些行的有效访问。分区的可更新当前日期或可更新当前时间戳的另一个优点是,分区表达式的设计方式可以使其不需要作为时间函数进行更改。您可以在表或未压缩的连接索引的分区表达式中指定日期、CURRENT_DATE或CURRENT_TIMESTAMP函数,然后定期更新其值的分辨率。这使得在确定日期、CURRENT_DATE或CURRENT_TIMESTAMP函数的新解析值是否需要协调时,可以对它们进行重新分区。您可以通过向当前语句提交适当的ALTER来更新分区方案的分辨率。

有关更多信息,您可以参考文档。

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

https://stackoverflow.com/questions/72042301

复制
相关文章

相似问题

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