阿里云 odps maxcompute max_pt 用法

一、简述
select max_pt('tableName')对于分区的表,此函数返回该分区表的一级分区的最大值,按字母排序,且该分区下有对应的数据文件。

说明:
tableName:String 类型,指定表名(必须带上 project 名,例如:prj.src),用户必须拥有该表的读权限。
返回值:最大的一级分区的值。

例:tab 是分区表,该表对应的分区如下,且都有数据文件。
pt=‘20080807’
pt=‘20080808’

select * from tab where pt=max_pt('project.tab');该语句 max_pt 值为“20080808”,阿里云 ODPS 数据库 SQL 语句读出 pt=‘20080808’ 分区下的数据。

备注:如果只是用 alter table 的方式新加了一个分区,但是此分区中并无任何数据文件,则此分区不会做为返回值。

二、使用场景
max_pt 是个非常好用的函数,可以获取分区表的最新分区,正因为好用,促成使用人员养成了在任意场景下都使用 max_pt 来替代 ‘${bizdate}’ 的习惯。什么场景下会使用?

当天数据无法及时产出,想使用最近一个分区的数据。
使用最新分区的数据,回刷历史某一天的数据。
三、使用 max_pt 可能引发的风险
部分任务会产出未来日期的分区,比如某业务订单表 ccbOrder 有 20080808 分区,把未完结订单都放在 20080808 分区里,此时用 max_pt 可能会取不到想要的数据。
同一个结果表,分多段 insert 数据至同一结果表,当多段任务并未完成时,使用 max_pt 获取不到全量数据
当 datax 同步任务刚添加好分区,数据未完成同步,使用 max_pt,只获取了部分数据
回刷数据,确保数据源自历史分区数据状态,使用 max_pt 达不到这个目的。
————————————————
版权声明:本文为CSDN博主「Just-ForStudy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ChineseSoftware/article/details/123112009

阿里云大数据计算服务MaxCompute(原ODPS)是一种云端大数据处理和分析服务,它提供了一个高效、安全和稳定的SQL引擎,用于处理和分析大规模数据。 MaxCompute的SQL使用指南如下: 1. 创建:使用CREATE TABLE语句创建,指定的名称、列名和数据类型。 2. 插入数据:使用INSERT INTO语句将数据插入到中,可以一次插入多行数据。 3. 查询数据:使用SELECT语句从查询数据,可以使用条件语句、排序和聚合函数进行筛选和处理。 4. 更新数据:使用UPDATE语句更新中的数据,可以根据条件对指定的行进行更新。 5. 删除数据:使用DELETE语句删除中的数据,可以根据条件删除指定的行。 6. 连接:使用JOIN语句将多个连接在一起,根据指定的关联条件进行数据的查询和分析。 7. 数据转换:通过使用转换函数,将数据在不同的数据类型之间进行转换,如字符串转换为日期、数字转换为字符串等。 8. 数据分组:使用GROUP BY语句将数据按照指定的列进行分组,然后对每个分组进行聚合操作,如计算平均值、求和等。 9. 数据排序:通过使用ORDER BY语句对查询结果按照指定的列进行排序,可以按照升序或降序排列。 10. 数据统计:使用聚合函数,如COUNT、SUM、AVG等对查询结果进行统计分析,可以获取总数、求和、平均值等数据。 11. 数据分区:使用PARTITION BY子句将数据划分成多个分区,可以加快查询和分析的速度。 总之,MaxCompute提供了强大的SQL功能,可以方便地对大规模数据进行处理、分析和洞察,帮助用户更好地进行数据驱动的决策和业务创新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值