本文为您提供关于MaxCompute使用功能的各项更新记录。
2023年12月04日-MaxCompute管家下线公告
尊敬的MaxCompute用户:
感谢您对云原生大数据计算服务MaxCompute的支持,MaxCompute从2022年9月发布新版管理控制台以来,陆续实现了原有MaxCompute管家的能力,同时交互体验有了很大提升,并扩展更多的管理和运维能力。目前MaxCompute的控制台已经承载了MaxCompute管家的基础能力,后续MaxCompute将停止对管家的维护,并将于2024年1月10日(周三)陆续下线MaxCompute管家。
在下线前,您还可以通过管家进行对应信息查看,但请您不要再进行任何编辑操作。管家原来的能力已经对应新版管理控制台的功能如下:
-
资源概览:包年包月计算Quota的资源使用趋势图。此功能对应MaxCompute管理控制台的资源观测,资源观测已经全部覆盖原有能力,同时扩展其他资源使用观测,详情请参见资源观测。
-
项目运维:查看项目列表。此功能对应MaxCompute管理控制台的项目管理,项目管理已经全部覆盖原有能力,详情请参见项目管理(新版)。
-
配额管理:管理包年包月计算Quota的二级Quota。此功能对应MaxCompute管理控制台的配额(Quota)管理,配额(Quota)管理已经全部覆盖原有能力,同时还支持了预留弹性能力,支持数据传输独享Quota的管理等,交互体验上也有了很大的提升,详情请参见项目管理(新版)。
-
作业运维:运维查看作业快照和历史作业。此功能对应MaxCompute管理控制台的作业运维,作业运维已经全部覆盖原有能力,详情请参见作业运维(新版)。
-
优化推荐(部分区域支持):在DataWorks的数据治理已经全部覆盖原有能力,包括任务持续空输出、持续全表扫描以及适合启用动态过滤器的推荐信息,详情请参见输出为空和暴力扫描。
期间您有任何相关问题或需要协助,可以通过您的专属钉群或MaxCompute开发者社区群(钉钉群号:11782920)联系我们。
感谢您的配合!
2023年11月21日-MaxCompute支持RAM权限控制项目超级管理员(super_administrator)设置
尊敬的MaxCompute用户:
MaxCompute于北京时间2023年11月21日(周二)起,MaxCompute管理控制台的项目管理 > 管理 > 参数配置支持设置超级管理员,即设置项目Super_Administrator角色成员,Super_Administrator角色说明请参见内置角色。此设置操作支持RAM权限控制,RAM用户拥有对应的RAM权限(UpdateUsersToSuperAdmin)即可给某个项目设置超级管理员角色成员,以便使用项目超级管理员角色进行对应项目的管理,详情请参见RAM权限。此能力可以解决如下场景:RD账号为项目Owner但无法访问MaxCompute进行授权,导致项目需要super_administrator
角色权限才能操作的参数无法配置。
感谢您的配合!
2023年09月27日-MaxCompute包年包月套餐、非预留计算资源、按量付费开发者版停止服务公告
尊敬的MaxCompute用户:
感谢您对云原生大数据计算服务MaxCompute的支持,为提供更加丰富、灵活、适配客户需求的产品,MaxCompute将会调整现有的售卖规格。包年包月套餐版中的存储密集型160套餐、存储密集型320套餐、存储密集型600套餐、 非预留计算资源以及按量付费开发者版将于北京时间2023年10月31日(周二)00:00:00停止服务。
对于使用包年包月套餐的用户,服务停止后您绑定套餐计算资源的项目将无法继续使用,请务必于停止服务前将包年包月套餐版变配为包年包月标准版计算资源,具体操作见包年包月套餐版转换为标准计算资源。
对于使用非预留计算资源的用户,服务停止后您的非预留计算资源部分将无法继续使用,请务必于停止服务前将非预留计算资源降配为0,具体操作见非预留计算资源降配。
对于使用按量付费开发者版的用户,服务停止后您绑定开发者版服务的项目将无法继续使用,请务必于停止服务前开通按量付费标准版服务,将绑定开发者版服务的项目的计算Quota切换为标准版默认后付费Quota。具体操作见开发者版转换为按量付费标准版或闲时版。
为避免业务损失,也为了您能享受完整的MaxCompute核心能力服务,请您尽快完成切换操作。若您有任何相关问题,可通过您的专属钉钉群或搜索(钉钉群号:11782920)加入MaxCompute开发者社区,我们有专门的技术支持人员协助您完成切换。若您未保有本次停止服务所涉及的商品规格,请忽略本信息。
感谢您的理解与配合!
2023年09月25日-MaxCompute子查询SQL恢复收费和作业运行最长时间变更
尊敬的MaxCompute用户:
MaxCompute将于北京时间2023年12月01日(周五)对以下SQL行为进行调整,适用范围为海外区域,金融云和政务云客户,请您提前关注了解。
-
修复子查询计量问题,在早期版本中,对于SQL中带有IN的子查询,子查询部分在按量计费模式下未进行计量计费。目前该问题已经修复,从2023年12月01日 10:00:00开始生效,对带有IN的子查询正常进行计量计费。
-
调整SQL类型作业运行最长时间的默认值,由原来的72个小时,调整为24个小时,以避免无效作业长期占用系统资源。该调整从2023年12月01日 10:00:00开始生效,如果您的SQL作业运行时间需要超过24小时,请使用
set odps.sql.job.max.time.hours=72;
命令在调整生效日期前在作业上进行设置,最大支持运行时长为72个小时。
感谢您的配合!
2023年09月21日-MaxCompute作业分析功能发布公告
尊敬的MaxCompute用户:
MaxCompute于北京时间2023年09月21日(周四)起从中国内地公共云地域开始陆续发布MaxCompute作业分析功能。
作业分析功能支持您在作业运维页面查看指定作业的资源消耗情况及某时刻使用的计算Quota的资源分配情况,详情请参见作业运维(新版)。当您遇到作业运行较长时间仍未结束、或当作业运行结束后发现作业运行时长不达预期(作业运行慢)时,您可以通过作业分析的资源消耗页签查看是否为计算资源紧张、多作业资源抢占导致,然后依据实际业务情况优化任务执行情况,进行作业优先级调整或进行计算资源管理,详情请参见作业优先级或配置Quota。
作业资源消耗情况推荐的查看方式请参见查看作业资源消耗情况及某时刻计算Quota的资源分配情况。
感谢您的配合!
2023年09月15日-MaxCompute Notebook功能开放试用公告
尊敬的MaxCompute用户:
MaxCompute Notebook功能将于北京时间2023年09月15日(周五)起在华东1(杭州)、华北2(北京)、华东2(上海)、华南1(深圳)地域开始开放试用。
MaxCompute Notebook是由MaxCompute提供的全托管、交互式数据分析挖掘模块,为数据工程师、数据分析师及数据科学家等人员提供Web交互式开发环境。支持用户通过SQL、PyODPS、Python等进行数据分析、探索,挖掘数据的价值,完成大数据与AI的融合应用开发。功能说明和使用请参见(邀测)MaxCompute Notebook使用说明。
如需申请试用,请参见新功能测试申请。
感谢您的配合!
2023年09月01日-MaxCompute 数据传输独享资源费用(包年包月)降价通知
尊敬的MaxCompute用户:
MaxCompute对数据传输独享资源组架构重构,提高了运行效率,同等资源可以支持更多并发,从而降低了使用资源的成本,遂在2023年9月1日零时开始,降低数据传输独享资源服务每并发的单价至75元/月。
感谢您的选择!
2023年08月31日-MaxCompute 弹性预留CU价格调整公告
尊敬的MaxCompute用户:
阿里云将对云原生大数据计算服务MaxCompute包年包月的弹性预留CU进行价格调整,具体为:
-
公共云单价从
0.625元/CU/时
调整为0.315元/CU/时
。 -
金融云单价从
1.1875元/CU/小时
调整为0.595元/CU/小时
。
新的价格调整将于北京时间2023年09月20日(周三)生效,生效后您使用的MaxCompute 包年包月的弹性预留CU将按照新价格计费。
感谢您的配合!
2023年08月18日-MaxCompute 控制台成本分析功能发布
尊敬的MaxCompute用户:
MaxCompute控制台的成本分析功能已于北京时间2023年08月18日陆续发布,通过成本分析,可以方便您对按量计费的账单进行分析,从费用出发下钻到用量明细,功能以各类报表形式为关注费用的管理人员提供更便捷的费用分析能力。当前成本分析仅支持计算和存储的按量付费相关数据分析,且费用数据为用量明细数据(直接按计费公式统计的原价费用),会存在因为精度或者取近似值的缘故使得统计的费用结果和账单真实值有些出入。更多详情请参见成本分析。
感谢您的配合!
2023年08月08日-MaxCompute 租户级别Information Schema开放公告
尊敬的MaxCompute用户:
租户级别Information Schema从租户角度提供项目元数据及使用历史数据等信息。与原来的项目级别Information Schema相比,通过租户级别元数据,您可以一次性拉取您同一个元数据中心下所有Project的某类元数据,无需分别进入每一个Project进行查询获取,提升您的查询效率。租户级别Information Schema是在每个阿里云账号下创建名称为SYSTEM_CATALOG
的项目,并内置INFORMATION_SCHEMA
,访问该内置Schema提供的只读视图,可以查询当前用户所有项目的元数据信息以及使用历史信息,详情请参见租户级别Information Schema。
感谢您的配合!
2023年08月01日-MaxCompute服务等级协议变更公告
尊敬的MaxCompute用户:
为了给您提供更加优质的服务,云原生大数据计算服务MaxCompute计划于北京时间2023年09月01日(周五)变更服务等级协议(SLA),新版SLA协议将根据各服务项分别计算服务可用性及赔偿标准,具体协议内容请参见云原生大数据计算服务MaxCompute服务等级协议。
为了使您更加清楚新版SLA协议中各项服务可用性及赔偿标准的计算方式,我们为您提供了各服务项发生服务不可用时的案例说明,详情请参见MaxCompute服务不可用赔付案例说明 。
感谢您的配合!
2023年07月31日-MaxCompute发布按量付费闲时版公告
尊敬的MaxCompute用户:
MaxCompute按量付费闲时版于北京时间2023年07月31日(周一)在华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、西南1(成都)地域正式发布。
MaxCompute按量付费闲时版是一种按量付费计算资源规格类型,开通后意味着您可以使用MaxCompute闲时计算资源,通过闲时计算资源运行的作业(SpotJob)相对于按量付费标准版作业具有更低的单价,适用于期望极低成本、但对完成时间不敏感的作业,至高可节省66.66%的计算成本。登录阿里云MaxCompute按量付费闲时版开通页面,立即开通按量付费闲时版。
更多计费与使用说明请参见按量付费闲时版。
感谢您的配合!
2023年07月03日-MaxCompute Transaction Table2.0 功能开放试用公告
尊敬的MaxCompute用户:
MaxCompute Transaction Table2.0功能于北京时间2023年07月03日(周一)起开始开放试用。
MaxCompute推出Transaction Table2.0功能,对Transaction Table进行全面升级,Transaction Table2.0支持设置主键,可分钟级高并发对表进行upsert/delete写入操作,同时支持Time-Travel功能以及增量查询功能,并满足读写快照隔离。功能说明和使用请参见Transaction Table2.0概述。
新功能在全站已开放,如需申请试用,请参见新功能测试申请。
感谢您的配合!
2023年07月03日-MaxCompute 新增JSON数据类型开放试用公告
尊敬的MaxCompute用户:
MaxCompute新增JSON数据类型于北京时间2023年07月03日(周一)起开始开放试用。
MaxCompute新增JSON数据类型,在插入JSON数据时,由MaxCompute自动进行优化,以列存提高JSON数据的压缩比,同时提高查询分析性能。功能说明和使用请参见MaxCompute JSON类型使用指南(试用Beta版本)。
新功能在全站已开放,如果想与其它云产品组合使用该功能,请先与相关云产品确认支持JSON数据类型后再使用。
感谢您的配合!
2023年06月08日-MaxCompute计算资源优化推荐功能发布公告
尊敬的MaxCompute用户:
MaxCompute将于北京时间2023年06月08日(周四)20:00:00起从中国内地公共云地域开始陆续发布MaxCompute的计算资源优化推荐功能。
计算资源优化推荐功能基于您包年包月一级Quota近30天的作业请求数据,模拟出以天为单位的作业请求预测分布,依据您设定的作业产出期望,评估资源使用现状,推荐并生成更优的计算资源配置方案,以进一步提升您的计算资源利用率,优化计算成本与效率。
更多功能介绍和使用说明请参见计算资源优化推荐。
感谢您的配合!
2023年05月24日-MaxCompute新建二级Quota默认调度策略变更并支持修改调度策略
尊敬的MaxCompute用户:
Quota的调度策略可分为FIFO(先进先出)和FAIR(公平调度)。据观测,大多数用户于MaxCompute发起的作业属于多任务场景,在此场景下,Quota调度策略为FIFO(先进先出)时,缩短单个作业平均运行时长的概率较大。
因此,自2023年5月24日起,华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、西南1(成都)地域新建的二级Quota调度策略默认值调整为FIFO(存量Quota不受影响,依然为FAIR),同时支持用户自行修改调度策略。存量Quota调度策略默认值为FAIR。以下是对于二级Quota调度策略的详细说明:
二级Quota调度策略 |
作业优先级相同时,资源分配规则 |
作业优先级不同时,资源分配规则 |
FIFO(先进先出) |
资源将优先分配至先提交的作业。 |
即使优先级高的作业提交时间晚于优先级低的作业,资源也将优先分配至高优先级作业。 |
FAIR(公平调度) |
资源将平均分配至同一时间提交的所有作业。 |
资源将先平均分配给优先级较高的作业,若有剩余,再平均分配给优先级较低的作业。 |
您可以根据业务情况选择合适的调度策略(暂不支持对类型为交互式的二级Quota设置调度策略),更多介绍请参见Quota调度策略说明。
感谢您的配合!
2023年05月10日-MaxCompute服务升级公告
尊敬的MaxCompute用户:
为了提升MaxCompute网络容灾能力,MaxCompute将于北京时间2023年05月24日(周三)15:00:00 ~ 16:00:00 升级华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、西南1(成都)地域。
在升级过程中,MaxCompute接入层进行网络变更,需要在域名中增加A记录,通常情况不会影响您的正常使用;但是如果您在CEN或专线网络打通并且在路由表里配置了MaxCompute的VIP地址,则需要及时与阿里云技术支持人员沟通,并将新的VIP增加到路由表中。
此次升级给您带来的不便,望您谅解,如您有任何问题,可随时通过工单或者服务热线与我们联系。
感谢您的配合!
2023年04月30日-MaxCompute部分售卖规格停止续订公告
尊敬的MaxCompute用户:
感谢您对云原生大数据计算服务MaxCompute的支持,为向您提供更为灵活且适配业务需求的商品规格,MaxCompute对现有规格进行优化。包年包月套餐版中的存储密集型160套餐、存储密集型320套餐、存储密集型600套餐和非预留计算资源将于北京时间2023年04月30日(周日)00:00:00停止续订,于2023年10月31日(周二)00:00:00停止提供服务。
我们建议您尽快将包年包月套餐版变配为包年包月标准版计算资源,并将非预留计算资源降配为0,降配操作请参见参考。同时可搭配使用MaxCompute全新推出的基于标准计算资源的弹性预留CU,该规格支持对计算资源进行小时级别扩缩容。
对涉及停止续订的规格,在停止续订前,控制台将保留续费功能(但仍不建议您续订,建议尽早完成变配,避免停止服务前紧急切换计算资源导致您的业务受损),但包年包月资源不再支持扩容,只允许降配;在停止续订后,您将无法续费及变配;在停止服务前,您可以继续使用已购资源;在停止服务后,资源不可使用。
在此期间您有任何相关问题或需要协助,可以通过您的专属钉群或MaxCompute部分售卖规格下线支持群(钉钉群号:10405002914)联系我们。若您未保有本次停止续订服务所涉及的商品规格,请忽略本公告。
感谢您的配合!
2023年04月11日-MaxCompute新人特惠规格发布
尊敬的MaxCompute用户:
MaxCompute于北京时间2023年04月11日(周二)在阿里云免费试用中心推出新人特惠规格,该规格主要基于MaxCompute按量计费商品,提供5000度的计算抵扣包和8度的存储抵扣包(可抵扣标准存储100 GB)的免费额度。
只有未购买过MaxCompte任何商品,且实名认证的新账号通过免费试用中心购买才能获取免费额度,购买后您可以参考使用内置公开数据集快速体验MaxComput体验MaxCompute产品。
感谢您的配合!
2023年04月06日-MaxCompute新版作业运维发布公告
尊敬的MaxCompute用户:
MaxCompute将于北京时间2023年04月06日(周四)起开始陆续发布MaxCompute的新版作业运维功能,新版作业运维将提供全量MaxCompute作业运行列表进行运维管理。如果您是数据开发人员,作业运维功能方便您日常查看、终止MaxCompute作业。如果您是管理员,作业运维功能方便您日常结合配额组查看某时刻的资源负载、终止MaxCompute作业。
新版作业运维同时满足查看作业快照信息和作业当前信息,您可以通过时间范围参数输入开始和结束时间实现:
-
过滤在这个时间范围内执行完成的作业。
-
过滤在结束时间或往前3分钟正在运行的作业,会有作业快照信息,这个时间也称为作业快照观测时间。
更多新版作业运维介绍请参见作业运维(新版)。
感谢您的配合!
2023年03月11日-大数据计算服务MaxCompute PyODPS行为调整
尊敬的大数据计算服务MaxCompute用户:
MaxCompute于北京时间2023年03月11日(周六)对以下PyODPS行为进行调整(适用于PyODPS V0.11.3及以上版本),请您关注了解。
-
MaxCompute引入了新的对象层级Schema(详情请参见Schema操作),其名称与既有表Schema字段重合,因此建议您使用
table_schema
特指表的Schema。使用schema
描述表的Schema信息将会输出警告,但不影响使用。示例如下:--# 获取表的 schema 信息。 t = o.get_table('pyodps_iris') print (t.table_schema) # 获取表 pyodps_iris 的 schema
-
Resource/Function对象上的时间字段(例如
creation_time
)将默认使用本地时间而非UTC时间,以与Table/Partition上的时间属性字段保持一致。如果您希望仍然使用UTC时间,可以进行如下配置:options.use_legacy_parsedate = True
-
原表与分区的属性字段
last_modified_time
更名为last_data_modified_time
。使用旧的属性名称将会输出警告,但不影响使用。
感谢您的配合!
2023年01月18日-MaxCompute Tunnel共享资源组限流公告
尊敬的MaxCompute用户:
为向您提供更加稳定的Tunnel共享资源服务,MaxCompute将于北京时间2023年03月01日(周三)起按区域为用户设置Tunnel共享资源组最大并发值。
目前MaxCompute各区域均提供公共的Tunnel共享资源组,供该区域用户做数据上传下载使用。本次举措旨在解决由区域内个别用户用量突然增加致使本区域Tunnel共享资源被占用,从而导致本区域其他用户申请不到资源的问题。详情请参见数据传输服务(上传)场景与工具。
感谢您的配合!
2023年1月17日-MaxCompute存储计量数据格式调整
尊敬的大数据计算服务MaxCompute用户:
MaxCompute于北京时间2023年01月17日(周二)开始,对存储计量数据格式进行调整。项目的存储大小计量数据将会全部推送为整型数据,此调整主要修复因数据转化其他格式导致计费系统不能计费的问题。调整后MaxCompute 存储服务的计费将正常与官网计费机制保持一致,您可以通过账单明细查看费用详情,详情请参见查看账单详情;也可以通过用户中心的用量明细下载计量数据进行查看,详情请参见用量明细。
感谢您的配合!
2022年11月14日-MaxCompute SQL行为调整
尊敬的MaxCompute用户:
MaxCompute将于北京时间2023年05月04日(周四)对以下SQL行为进行调整,请您提前关注了解。
-
修复子查询计量问题,在早期版本中,对于SQL中带有
IN
的子查询,子查询部分在后付费模式下未进行计量计费。目前该问题已经修复,从2023年05月04日 10:00:00开始生效,对带有IN
的子查询正常进行计量计费。 -
调整SQL类型作业运行最长时间的默认值,由原来的72个小时,调整为24个小时,以避免无效作业长期占用系统资源。该调整从2023年05月04日 10:00:00开始生效,如果您的SQL作业运行时间需要超过24小时,请使用如下命令在调整生效日期前在作业上进行设置,最大支持运行时长为72个小时。
set odps.sql.job.max.time.hours=72;
感谢您的配合!
2022年11月01日-MaxCompute 资源抵扣包发布
尊敬的MaxCompute用户:
MaxCompute于北京时间2022年11月01日(周二)推出计算抵扣包和存储抵扣包。
资源抵扣包可以抵扣您使用MaxCompute实例时产生的计算和存储用量,增加计算和存储按量计费模式使用的灵活性。资源抵扣包分为多个规格,不同的规格和购买时长产品上会有不同的优惠,您可以根据您的业务量选择最优惠的资源抵扣包购买方式,资源抵扣包详细信息请参见计算抵扣包和存储抵扣包。
感谢您的配合!
2022年10月13日-MaxCompute Schema功能开放试用公告
尊敬的MaxCompute用户:
MaxCompute Schema功能于北京时间2022年10月13日(周四)起开始开放试用。
MaxCompute推出Schema对Table、Resource、UDF进行归类,Schema是处于Project之下,Table、Resource、UDF之上的对象。您可以在一个Project下创建多个Schema对数据按业务分类存放,功能说明和使用请参见Schema操作。
新功能在全站已开放,如需申请试用,请参见新功能测试申请。
感谢您的配合!
2022年09月23日-MaxCompute部分售卖规格停止新购公告
尊敬的MaxCompute用户:
感谢您对云原生大数据计算服务MaxCompute的支持,为提供更加丰富、灵活、适配客户需求的产品,MaxCompute将会调整现有的售卖规格。包年包月套餐版中的存储密集型160套餐、存储密集型320套餐、存储密集型600套餐、 非预留计算资源以及按量计费开发者版将于北京时间2022年10月31日(周一)00:00:00停止新购,于2023年04月30日(周日)00:00:00停止续订,于2023年10月31日(周二)00:00:00停止服务。
在停止服务前,您可以继续使用已购资源;在停止续订后,您将无法续费及变配;在停止续订前,控制台将保留续费功能,但包年包月资源不再支持扩容,只允许降配。因此建议购买了包年包月套餐及非预留资源的用户尽快调整至标准计算资源并配合弹性预留CU使用;按量计费开发者版用户及时更换至按量计费标准版,以享受完整的MaxCompute核心能力服务,您可通过更换项目绑定的默认计算Quota实现,具体操作请参见转换计费方式(旧版控制台)或配置项目(新版控制台)。
期间您有任何相关问题或需要协助,可以通过您的专属钉群或MaxCompute部分售卖规格下线支持群(钉钉群号:10405002914)联系我们。
感谢您的配合!
2022年09月20日-MaxCompute新售卖规格弹性预留CU发布公告
尊敬的MaxCompute用户:
MaxCompute将于北京时间2022年09月20日(周二)先从西南1(成都)地域开始陆续发布MaxCompute新售卖规格:弹性预留CU。
弹性预留CU是在购买包年包月预留CU的基础上实现弹性扩缩容,弹性预留CU计费方式为按时按量计费,具体规格和单价请参见计算费用(按时计费)。购买方式无需走售卖流程,您购买包年包月预留CU后,即可通过新版控制台Quota管理的Quota配置,在Quota计划里设置一级Quota的弹性预留CU,结合Quota时间计划,实现弹性扩缩容,设置详情请参见Quota管理(新版)。
感谢您的配合!
2022年09月20日-MaxCompute新版控制台发布公告
尊敬的MaxCompute用户:
MaxCompute将于北京时间2022年09月20日(周二)开始陆续发布MaxCompute的新版控制台。新版控制台将采用全新的域名地址,会先从西南1(成都)地域开始陆续发布新版功能,在陆续发布期间,未发布的地域会将老版本控制台嵌入到新版地址中。
MaxCompute新版控制台将提供全新的项目管理、Quota(配额)管理同时集成全新功能:弹性预留CU、自定义项目管理类角色。
-
新版控制台与老版本控制台对比。
-
访问控制。
访问新版控制台进行相关管理操作需要有MaxCompute相关的权限策略,详情请参见RAM权限。
-
项目管理。
-
创建项目。
老版本是在创建DataWorks工作空间的同时创建MaxCompute项目;新版本是直接创建单个MaxCompute项目,详情请参见项目管理(新版)。因此建议您继续通过DataWorks创建使用MaxCompute项目。
-
删除项目。
老版本可以删除有关联DataWorks工作空间的项目,并在删除前要求先在DataWorks上进行项目解绑,同时支持逻辑删除(逻辑删除后可恢复)和立即删除;新版本支持删除所有MaxComputes项目,删除时需要短信验证,只支持立即删除不支持逻辑删除,另外需要注意删除时不感知项目与DataWorks项目空间的关联性,因此需要在删除前需自行确认与DataWorks工作空间解绑以免删除后DataWorks项目空间不能正常操作使用。
-
项目状态变更。
老版本中项目状态除了随订单实例生命周期变化,支持自定义逻辑删除、恢复的状态变更;新版本项目状态同样随订单实例周期变化,同时支持自定义禁用、恢复项目。
-
项目切换默认Quota。
老版本可以更新关联DataWorks工作空间的项目,并在DataWorks页面进行更新,若工作空间为标准模式则同时变更对应两个项目;新版本支持所有正常、停服状态项目变更切换,每个项目独立变更。
-
项目参数配置。
老版本控制台没有提供界面化项目参数配置;新版本将常用的项目基础属性、权限属性、IP白名单设置都进行界面化,有权限操作的账号可直接通过新版控制台界面进行相关操作。
-
项目权限管理。
老版本控制台没有提供界面化项目权限管理;新版本提供界面化项目角色管理和Package管理,通过角色进行权限管理。
-
项目角色:支持创建Resource和Admin类型角色,支持ACL、Policy方式进行角色授权。ACL方式授权支持所有对应Project对象(Table、Function、Resource、Package、Project)进行授权操作,通过界面操作实现批量授权。
-
Package:支持界面化创建、授权、安装Package等操作,通过界面操作实现批量授权。
-
-
-
Quota管理。
即MaxCompute管家中的配额管理,新版控制台提供全新的Quota管理交互。
-
Quota列表。
展示一、二级Quota列表,相关参数属性为当前Quota的属性。
-
资源消耗。
查看对应一级Quota的相关CU消耗趋势图,与当前管家概览CU使用趋势一致。
-
升级、降配、续费。
对一级Quota进行操作,即对对应实例进行升级、降配、续费。
-
Quota配置。
对一级Quota下的二级Quota进行拆分配置、分时调度等。
-
Quota模板:创建、删除二级Quota目录。
-
Quota计划:全局视图进行Quota属性和CU量配置,可以按不同时间计划设置不同的Quota配置。
-
时间计划:支持设置每日不同时段调度使用不同的Quota计划配置,支持半点和整点调度。
如果原管家中开启了分时Quota功能,则会在新版中按每个时段生成对应的Quota计划,每个Quota计划的名称为
p_开始时间点
,并在时间计划里配置好每个Quota计划的调度。
-
-
-
-
新增自定义项目管理类角色。
在新版控制台的项目管理 > 角色管理,支持自定义创建
admin
类型的角色,目前admin
类型角色只能通过Policy方式授权。通过此类角色,您可自定义安全管理人员的权限范围,如只能进行某个项目IP白名单配置的管理角色、只能进行某个项目数据权限管理的角色等。
感谢您的配合!
2022年08月30日-MaxCompute odpscmd日常升级运维公告
尊敬的MaxCompute用户:
MaxCompute odpscmd组件将于北京时间2022年08月30日(周二)10:30:00 ~ 11:00:00 升级新加坡、香港地域,北京时间2022年08月31日(周三)10:30:00 ~ 11:00:00 升级上海金融云、香港政务云、深圳金融云地域。在升级过程中通过DataWorks提交的MaxCompute任务小概率会出现ClassNotFound
、NoClassDefFoundError
等Java类加载异常,出现异常后重试任务即可。此次升级带来的不便,望您谅解。
2022年08月24日-SAMPLE函数升级
SAMPLE函数升级前, sample(10,1)
这类用法的返回结果符合预期,但是后面如果跟上具体Hash列,返回的结果条目数量有可能有误,如果数据分布在大整数范围内,如(10187140, 10189550, 1018910)
, 则返回结果均为True, 不符合预期。
SAMPLE函数升级后,修正了Hash算法的Final处理方式,优化生成结果的散列效果,避免造成数据分布不均的问题。但可能会与之前旧版本产生结果不相同的问题,注意此问题不是正确性问题,示例如下。
--对于如下SQL语句
select count(*) from (values (10024350), (14564560), (12243560)) as X(a) where sample(10, 1, a)=true;
--升级前返回结果为:
+------------+
| _c0 |
+------------+
| 0 |
+------------+
--升级后返回结果为:
+------------+
| _c0 |
+------------+
| 1 |
+------------+
SAMPLE函数详细使用说明请参见SAMPLE。
2022年08月11日-MaxCompute 1.0兼容模式下线公告
尊敬的MaxCompute用户:
自2017年7月起,MaxCompute秉承为客户提供更优的产品服务,陆续进行了MaxCompute2.0引擎升级。
在MaxCompute2.0稳定运行5年后,基于产品生命周期策略的考虑,MaxCompute1.0兼容模式将于北京时间2022年10月31日24:00:00正式下线。
MaxCompute2.0较1.0版本执行更严格的语法检测,所以在MaxCompute1.0编译器下可以正常执行的不严谨语法在MaxCompute2.0中则会报错,具体报错信息及解决方案请参见报错信息及解决方案。
自本通知发布到MaxCompute1.0兼容模式正式下线期间,如果您的代码存在撰写不够规范、严谨的情况,请您尽快修改相关的SQL代码。您可通过设置Session flag(set odps.sql.planner.mode=lot;
)验证SQL代码在MaxCompute2.0引擎下是否可成功执行。
期间您有任何相关问题需要协助,可以通过您的专属钉群、MaxCompute开发者钉钉群。MaxCompute开发者钉钉群二维码如下。
感谢您对MaxCompute的支持!
2022年5月24日-外部表账单拆分
MaxCompute原来OSS和Tablestore的外部表费用账单合并记录,从2022年5月24日零点零分零秒开始会对外部表的账单按外部表类型进行拆分,对您的费用不会产生影响,只是账单上做细化拆分,具体计费项变更如下。
-
删除原来外部表功能计费项:SQL外部表计算。
-
新增OSS和Tablestore两个计费项,分别记录OSS和Tablestore外部表部分费用:
-
OSS外部表计算。
-
Tablestore外部表计算。
-
如果您对MaxCompute的计费项有依赖请及时进行更新。
2022年2月21日-表结构变更(Schema Evolution)功能开放试用
为了满足业务不断变化的场景,MaxCompute推出新功能,支持您对已存在的表的结构执行如下变更操作:
-
删除列
-
新增列
-
修改列顺序
新功能在中国站已开放,如果需要申请试用,请参见新功能测试申请。
2021年11月29日-专有网络连接管理产品化发布
MaxCompute支持通过外部表、UDF及湖仓一体等功能访问VPC网络,需要先开通MaxCompute和目标IP或服务,例如Hbase、RDS、Hadoop集群等连通目标的网络连接。
专有网络连接管理于2021年11月29日在上海、杭州、北京、深圳、张家口地域进行产品化发布。专有网络连接管理支持阿里云账号(主账号)或拥有tenant的Super_Administrator和Admin角色的RAM用户(子账号)通过MaxCompute控制台的网络资源和用户管理页签进行网络连接管理和管理员授权。专有网络连接具体操作步骤请参见网络开通流程。对管理员进行授权请参见角色规划和将角色赋予用户。
2021年11月1日-查询加速MCQA查询缓存机制商业化发布
对于每个MCQA查询作业,MaxCompute会在内部创建临时数据集来缓存查询结果。使用相同查询的时候会优先使用缓存的结果。缓存结果按每个查询进行维护,使用缓存结果不会产生任何存储及计算费用,在降低使用费用的同时,还可大幅加快执行速度。
更多查询缓存机制信息,请参见增强:查询结果缓存机制。
2021年10月15日-MaxCompute运维管家维护通知
MaxCompute运维管家将于中国北京时间(东八区)2021年10月15日22:00~24:00进行后台维护,期间MaxCompute管家的配额管理、作业运维等功能暂不可使用,您可在维护工作完成后再继续使用,感谢您的配合!
2021年8月10日-UPDATE、DELETE和MERGE INTO功能商业化
自2021年8月10日起,MaxCompute SQL的UPDATE、DELETE和MERGE INTO功能结束免费公测,开始正式计费。已经使用UPDATE、DELETE和MERGE INTO功能的按量计费作业,届时会产生计算费用。如果您之前因为担心公测稳定性问题而暂未使用UPDATE、DELETE和MERGE INTO功能,届时可以放心使用。MaxCompute为UPDATE、DELETE和MERGE INTO功能的相关可用性、稳定性等提供与MaxCompute SQL能力同等的保障。
计费规则如下:
-
如果MaxCompute项目的计费模式为包年包月,计算费用不单独收费。
-
如果MaxCompute项目的计费模式为按量计费,计算费用计算规则调整为:单条SQL计算费用=计算输入数据量×SQL复杂度×单价(0.3元/GB)。其中:SQL复杂度通过SQL关键字个数折算。SQL关键字个数=JOIN个数+GROUP BY个数+ORDER BY个数+DISTINCT个数+窗口函数个数+
MAX(INSERT个数|UPDATE个数|DELETE个数-1, 1)
。
如果您担心费用超出预期,可以配置消费监控告警控制消费。更多监控告警信息,请参见消费监控告警。
您还需要注意如下内容:
-
如果MaxCompute项目的计费模式为按量计费,MaxCompute会根据UPDATE、DELETE和MERGE INTO语句扫描的输入数据量×SQL复杂度×单价计算费用。当您对Transactional表执行更新或删除操作后会生成Delta文件,Delta文件积累较多后会造成数据膨胀并影响读取性能,也会逐渐增大扫描数据量,增加费用。即使MaxCompute项目的计费模式为包年包月,也会占用更多资源,影响后续作业执行效率。您可以通过Compact方法合并Delta文件,更多语法信息请参见合并Transactional表文件。
-
MaxCompute会按照批处理方式执行
delete
、update
作业,每一条语句都会使用资源并产生费用,建议您使用批量方式删除或更新数据,请参见更新或删除数据(UPDATE | DELETE)。命令示例如下。--推荐方案:使用关联方法,一次改写或删除所有需要操作的数据。 update table1 set col1= (select value1 from table2 where table1.id = table2.id and table1.region = table2.region); --不推荐方案:逐行操作。 update table1 set col1=1 where id='2021063001'and region='beijing'; update table1 set col1=2 where id='2021063002'and region='beijing'; ......
2021年3月12日-MaxCompute管家发布作业推荐功能
MaxCompute管家新增作业推荐功能:
MaxCompute支持定期检查并列出持续执行空输出或全表扫描的TOP级SQL周期任务。如果有该类型任务,列表中会显示最近一次执行的Instance ID,建议您检查作业并进行优化,避免产生不必要的资源消耗。如果您不需要推荐功能,请在推荐设置页签单击取消订阅,即可关闭推荐。
更多作业推荐信息,请参见SQL周期任务持续空输出和全表扫描推荐。
2021年1月21日-新建项目的GET_JSON_OBJECT返回行为由JSON保留字符转义变为保留原始字符串
变更前,GET_JSON_OBJECT函数对于字符串类型的返回结果采用了转义的方式进行输出,导致诸如换行符(
)、引号(”)等JSON保留字符使用字符串'
、
''\"'
显示,这是一个非标准的行为。
变更后,GET_JSON_OBJECT函数会保留原始的字符串,返回行为更标准,处理数据更方便,性能更好。返回值仍是一个JSON字符串,可以继续当做JSON来解析,而不再需要额外使用REPLACE或REGEXP_REPLACE等函数替换反斜线。
自2021年1月21日及之后新创建的MaxCompute项目中,GET_JSON_OBJECT函数的返回行为默认为保留原始字符串。2021年1月21日之前创建的MaxCompute项目中,GET_JSON_OBJECT函数的返回行为默认为JSON保留字符转义,以免行为变更对存量作业造成影响。
您也可以通过以下示例判断MaxCompute项目中GET_JSON_OBJECT函数采用了哪种行为,执行命令如下:
select get_json_object('{"a":"[\"1\"]"}', '$.a');
--JSON保留字符转义的行为返回:
[\"1\"]
--保留原始字符串的行为返回:
["1"]
推荐您使用变更后的行为方式:
-
Session级别:在SQL语句前增加
set odps.sql.udf.getjsonobj.new=true;
命令,与SQL语句一起提交。 -
Project级别:您可以在钉钉群中联系MaxCompute技术支持团队,将您的项目中的GET_JSON_OBJECT函数返回行为切换为保留原始字符串的行为。
更多GET_JSON_OBJECT函数信息,请参见字符串函数。
2021年1月13日-MaxCompute管家发布全量作业管理和权限管理
-
作业管理
MaxCompute管家推出作业管理功能,支持开发人员和管理人员对全量作业按照时间段、状态以及更多细粒度条件查找作业并进行相应管理。
您可以通过MaxCompute管家提供的作业管理功能,按照作业提交时间段、作业状态、项目、配额组、Instance ID及提交人等精准条件查找作业,查看作业基础信息以及对应Logview。同时,MaxCompute管家提供终止处于运行状态作业的功能。所查找的作业为全量作业,即所有状态作业,显示的作业状态为终态。
通过作业管理:
-
数据开发人员对自己提交或管理的作业进行日常运维时,可以方便地通过各种过滤条件搜索,可以按照时间段、跨项目查看作业列表。如果需要检查当天哪些作业失败并进行处理,可以直接通过时间段和状态筛选作业,方便查看作业基础信息、Logview。同时可以终止处于正在运行状态的作业,提升作业日常运维效率。
-
管理人员可以查看过去或当前作业整体资源负载情况,也可以查看各时间段作业运行情况以便更好地规划资源,同时在做审计时可以快速查看某个作业信息。
更多作业管理信息,请参见MaxCompute作业运维管理。
-
-
权限管理
MaxCompute管家支持对RAM用户进行权限管理,以便支持RAM用户进行资源配额组和作业管理。
MaxCompute管家按日常管理业务划分几种角色和权限:
-
超级管理员:支持查看并操作MaxCompute管家界面的所有对象。
-
项目管理员:支持查看MaxCompute管家界面的所有对象,但只能终止对应项目正在运行的作业。
-
配额组管理员:支持查看MaxCompute管家界面的所有对象,但只能终止对应配额组正在运行的作业。
-
访客:默认所有RAM用户可以访问MaxCompute管家,无需额外授权,可以查看MaxCompute管家界面的所有对象,只能终止自己提交的正在运行的作业。
更多权限管理信息,请参见MaxCompute管家权限。
-
2020年12月28日-Streaming Tunnel功能开始公测
MaxCompute Streaming Tunnel服务自2021年1月1日起开始公测,公测期间可直接免费使用,后续商业化通知请及时关注公告。
MaxCompute Streaming Tunnel服务是MaxCompute批量数据通道的扩展服务,提供了一套全新的API及后端服务,您可以通过MaxCompute Streaming Tunnel服务将流式服务做为上游服务将数据写入MaxCompute,例如流计算Blink、数据通道DataHub,数据传输服务DTS、实时数据同步。
Streaming Tunnel功能详情请参见流式数据通道概述。
2020年12月5日-MaxCompute数据分析查询编辑器支持查询加速
MaxCompute数据分析查询模式原先进行数据查询时,采用离线查询模式,本次发布查询模式支持MaxCompute查询加速,对于中、小数据量查询作业将执行时间从分钟级缩减至秒级,即查速度提升至秒级。通过MaxCompute查询编辑器发起查询SQL后,系统会优先通过查询加速进行查询,如果满足查询加速条件,则秒级返回结果;否则会回退为离线查询,保障查询作业正常执行。结合数据分析的丰富的Web-Excel分析功能,数据分析师可以通过MaxCompute数据分析一站式快速进行数据查询、结果二次分析及分享。
MaxCompute查询加速功能当前主要支持按量计费资源,若项目使用包年包月资源,暂时无法满足查询加速。
查询编辑器详情请参见使用DataWorks连接。
查询加速详情请参见查询加速。
2020年11月24日-MaxCompute部分日期函数的输入参数校验行为变更
MaxCompute对部分日期函数的输入参数格式进行严格校验,避免异常输入带来的结果正确性或其它问题。该变更将于2020年11月24日到2021年1月30日陆续对中国站各个区域进行分批升级,请您提前评估项目中相关函数的已有用法,并为升级做准备。具体变更如下:
-
CAST(expr AS DATE)
函数行为变更-
升级前:DATE日期转换函数对输入的字符串检查不够严格,可以有非日期格式的字符作为输入参数。例如,执行如下查询语句:
select cast(a as date) from values ('2020-1x-19') t(a);
返回结果如下:
+------------+ | a | +------------+ | 2020-01-19 | +------------+
-
升级后:DATE日期转换函数对输入的字符串进行严格检查,要求年、月、日3个字段都必须是数字,如果是字母或空格都会被认为是非法输入,返回NULL。例如,执行如下查询语句:
select cast(a as date) from values ('2020-1x-19') t(a);
返回结果如下:
+------------+ | a | +------------+ | NULL | +------------+
-
-
TO_DATE
函数行为变更-
升级前:TO_DATE函数对输入的字符串检查不够严格,可以有非日期格式的字符作为输入参数。例如,执行如下查询语句:
select to_date(a) from values ('2020-1x-19') t(a);
返回结果如下:
+------------+ | _c0 | +------------+ | 2020-01-19 | +------------+
-
升级后:TO_DATE函数对输入的字符串进行严格检查,要求年、月、日3个字段都必须是数字,如果是字母或空格都会被认为是非法输入,返回NULL。例如,执行如下查询语句:
select to_date(a) from values ('2020-1x-19') t(a);
返回结果如下:
+------------+ | _c0 | +------------+ | NULL | +------------+
-
-
CAST(expr AS TIMESTAMP)
函数行为变更-
升级前:TIMESTAMP时间转换函数对输入的字符串检查不够严格,可以有非日期格式的字符作为输入参数。例如,执行如下查询语句:
select cast(a as timestamp) from values ('2020-11-19 16:3x:00.001') t(a);
返回结果如下:
+------------+ | a | +------------+ | 2020-11-19 16:03:00.1 | +------------+
-
升级后:TIMESTAMP时间转换函数对输入的字符串进行严格检查,要求年、月、日3个字段都必须是数字,如果是字母或空格都会被认为是非法输入,返回NULL。例如,执行如下查询语句:
select cast(a as timestamp) from values ('2020-11-19 16:3x:00.001') t(a);
返回结果如下:
+------------+ | a | +------------+ | NULL | +------------+
-
2020年10月12日-查询加速(MCQA)功能商业化
自2020年10月12日起,查询加速(MCQA)功能结束免费公测。MaxCompute将对使用查询加速(MCQA)功能执行的查询作业按量计费。如果您购买的是包年包月规格,暂不支持使用查询加速(MCQA)功能,后续支持情况请及时关注公告通知。
计费规则如下:
一次MCQA作业费用=输入数据量×SQL复杂度×单价(0.3元/GB)
详情请参见查询加速(MCQA)。
2020年9月30日-MaxCompute改版控制台提升管理和使用体验
MaxCompute现已向MaxCompute用户提供新版Web控制台。新版用户界面和新功能简化了用户在开通服务、创建项目、管理及监控计算资源和分析SQL查询结果等方面的操作。您可以在一个更简单易用的界面中快速创建数据仓库环境、管理和监控计算资源及作业、开展数据分析。MaxCompute新版控制台的主要改进点如下:
-
简化MaxCompute服务开通到创建项目的过程。
-
提供简单易用的查询编辑器,有效缩短日常SQL分析操作路径。
说明
查询编辑器功能自2020年9月30日起陆续在中国站各个区域发布。
-
提供电子表格(Web Excel)丰富、便捷的数据分析功能,其操作与Office Excel高度一致,帮助您快速上手,完成线上查询、分析数据的操作。
-
默认开放MaxCompute公开数据集,您可以通过查询编辑器基于公开数据集体验及测试MaxCompute。
-
集成MaxCompute的项目、计算资源、用户管理等相关功能,方便项目管理员可快速进行管理操作。
2020年9月1日-查询加速(MCQA)功能开始公测
自2020年9月1日起,查询加速(MCQA)功能开始公测,公测期间启用MCQA功能执行的查询作业不计费。详情请参见查询加速(MCQA)。
2020年9月1日-备份与恢复功能开始收费
自2020年9月1日起,备份与恢复功能结束免费公测,MaxCompute开始对自动备份的数据按量计费。
计费规则如下:
-
项目默认自动备份并保留1天内变化的数据版本,且1天内的备份存储免费。即默认情况下,MaxCompute项目免费提供数据保留周期为1天的自动备份能力。
-
当项目管理员修改备份保留周期超过1天时,MaxCompute将对超过1天的备份数据按量计费,单价为0.004元/GB/天。
备份与恢复功能详情请参见备份与恢复。计费详情请参见存储费用。
2020年9月1日-数据科学(Mars)服务开始收费
自2020年9月1日起,MaxCompute正式对数据科学(Mars)作业按量计费。
说明
2020年9月1日前已处于使用状态的数据科学(Mars)服务,自2020年9月1日起也开始按量计费。
Mars作业的计费公式为:
Mars作业当日计算费用=当日总计算时×单价(0.66元/计算时)
数据科学(Mars)服务详情请参见数据科学(Mars)。计费详情请参见计算费用(按量付费)。
2020年7月30日-SQL兼容性升级
MaxCompute SQL中的URL_DECODE
和CONV
函数升级,详细变更如下:
-
URL_DECODE
函数-
升级前:如果
URL_DECODE
函数存在两个参数,第二个编码参数不生效,系统按照UTF-8编码格式解码,即URL_DECODE(url, "gbk")
等于URL_DECODE(url)
。 -
升级后:如果
URL_DECODE
函数存在两个参数,系统首先按照百分号(%)解码,然后按照第二个编码参数的编码格式解码,返回结果字符串。在DataWorks数据开发环境运行命令的示例如下。SELECT URL_DECODE("%CD%F5", "gbk"); -- 升级前返回乱码。填写的编码参数GBK不生效,使用UTF-8编码格式解码。 -- 升级后返回“王”。Íõ是“王”的GBK编码。 SELECT URL_DECODE("%E7%8E%8B", "gbk"); -- 升级前返回“王”。%E7%8E%8B是“王”的UTF-8编码。填写的编码参数GBK不生效,仍然使用UTF-8编码格式解码。 -- 升级后返回NULL。ç不是合法的GBK编码。 SELECT URL_DECODE("%E7%8E%8B"); -- 升级前后都返回“王”。%E7%8E%8B是“王”的UTF-8编码。不填写编码参数,默认使用UTF-8编码格式解码。
说明
在Windows环境下通过MaxCompute客户端(odpscmd)执行命令时,由于Windows环境存在
cmd
编码转换问题,可能会将GBK编码再次转换为其他编码。
-
-
CONV
函数-
如果项目空间为Hive兼容模式版本,对于非法输入参数,升级前后都返回0。
-
如果项目空间为1.0或2.0数据类型版本:
-
升级前:如果查询的表字段为非法参数,返回结果为乱码。
-
升级后:如果查询的表字段为非法参数,返回结果为NULL。
例如,
CONV("00e04c9d034a", 2, 10)
返回结果为NULL。
-
-
2020年7月24日-MaxCompute的Python UDF支持更多数据类型
Python 2 UDF和Python 3 UDF支持的数据类型增加DECIMAL、数据类型2.0的DECIMAL、复杂数据类型(ARRAY、MAP和STRUCT)和复杂数据类型嵌套。
Python 3 UDF中get_cache_table
引用的资源表支持BIGINT、STRING、DOUBLE、BOOLEAN、DATETIME、DECIMAL、数据类型2.0的DECIMAL、FLOAT、CHAR、VARCHAR、BINARY、DATE、ARRAY、MAP和STRUCT数据类型。
Python 2 UDF和Python 3 UDF详情请参见UDF开发(Python2)和UDF开发(Python3)。
2020年7月24日-MaxCompute新增聚合函数
MaxCompute新增聚合函数APPROX_DISTINCT(value)
、ANY_VALUE(value)
、ARG_MAX(valueToMaximize, valueToReturn)
和ARG_MIN(valueToMinimize, valueToReturn)
。函数功能如下:
-
APPROX_DISTINCT(value)
:返回输入的非重复值的近似数目。 -
ANY_VALUE(value)
:返回取值范围内的任意一个值。 -
ARG_MAX(valueToMaximize, valueToReturn)
:返回valueToMaximize最大值对应行的valueToReturn。 -
ARG_MIN(valueToMinimize, valueToReturn)
:返回valueToMinimize最小值对应行的valueToReturn。
新增聚合函数详情请参见聚合函数。
2020年7月24日-MaxCompute支持代码嵌入式UDF
代码嵌入式UDF支持将Java或Python代码嵌入SQL脚本。您可以将SQL脚本和第三方代码放入同一个源码文件,减少使用UDT或UDF的操作步骤,方便日常开发。
在代码编译过程中,Janino-compiler编译器会识别并提取嵌入的代码,完成代码编译(Java)、动态生成资源和创建临时函数操作。即您可以在一个SQL脚本中完成代码编译(Java)、添加资源、创建函数的操作。
代码嵌入式UDF还可以解决无法查看SQL脚本中UDF的代码实现逻辑,以及无法获取到JAR包源码的问题。详情请参见UDF(嵌入式)。
代码嵌入式UDF详情请参见UDF(嵌入式)。
2020年7月24日-MaxCompute支持SQL语言定义函数
MaxCompute支持通过SQL语言定义函数(SQL Function)在SQL脚本中使用SQL定义的UDF。
SQL语言定义函数作为一种用户自定义函数,弥补了系统只能用Java或Python创建UDF的不足,还扩展了函数类型的参数和匿名函数特性,提升表达业务逻辑的灵活性。您可以通过该函数实现简单功能,提高代码复用率。具体功能如下:
-
支持在SQL脚本中使用SQL定义的UDF,并调用UDF。
-
支持函数类型的参数,调用时可以传入内建函数、UDF或SQL语言定义函数。
-
函数类型的参数可以为匿名函数,调用时可以传入匿名函数。
SQL语言定义函数详情请参见UDF(SQL自定义函数)。
2020年7月23日-MaxCompute的包年包月项目支持对指定SQL作业使用按量计费资源
使用MaxCompute进行数据开发时,您通常需要按照业务需求选择包年包月或者按量计费资源,不同计费模式的资源具有不同的优劣。包年包月资源为独享资源;按量计费资源为公共资源,按照需要弹性使用。某些情况下,会同时使用包年包月和按量计费的计算资源,对于资源需求量极高且优先级要求也很高的作业,包年包月资源远远不足,您需要使用按量计费资源来满足需求。
从2020年7月23日开始,MaxCompute升级MaxCompute管家后,MaxCompute的包年包月项目支持对指定SQL作业使用按量计费资源。您可以通过MaxCompute管家对使用包年包月的项目增加按量计费配额,即可以指定SQL作业使用按量计费资源,详情请参见包年包月项目使用按量计费资源。
2020年7月23日-MaxCompute管家升级
MaxCompute管家将于2020年7月23日开始陆续对中国内地各个区域进行升级,新功能包含:
-
支持对包年包月项目的配额组设置分时时间段。
您可以通过MaxCompute管家对包年包月配额组进行分时设置,确保满足不同业务项目在不同时段对计算资源的需求,提升有限资源的使用率。
-
支持对包年包月项目设置按量计费配额组。
您可以通过MaxCompute管家对包年包月项目增加按量计费配额组,以便指定SQL使用按量计费资源。
-
项目页面增加按量计费项目。
您可以通过MaxCompute管家在项目页面查看按量计费项目的存储水位。
-
作业页面增加按量计费项目作业快照。
您可以通过MaxCompute管家在作业页面查看按量计费项目作业快照、开启自动刷新和终止作业。
MaxCompute管家详情请参见MaxCompute管家。
2020年7月13日-新增项目的默认数据类型版本从1.0变更为2.0
MaxCompute通过DataWorks控制台新增项目时,项目的默认数据类型版本从1.0变更为2.0。该变更将于2020年7月13日到2020年7月22日陆续对中国站各个区域进行升级。如果您之前创建过存量项目,新建项目时需要选择合适的数据类型版本。不同数据类型版本的项目进行数据交互时可能会引起兼容性问题。
MaxCompute有3个数据类型版本,不同数据类型版本在定义和行为上有一定的差异。MaxCompute将数据类型相关属性组成3个组合,分别对应1.0数据类型版本、2.0数据类型版本和Hive兼容数据类型版本。详情请参见数据类型版本说明。
说明
此功能对存量项目的数据类型版本无影响。如果存量项目需要更新数据类型版本,请参见修改项目的数据类型版本。
2020年5月13日-新增项目支持选择数据类型版本功能上线
MaxCompute新增项目初始化数据类型版本的功能将于2020年5月13日到2020年6月30日陆续对中国站各个区域进行升级。升级完成后,您在创建新项目时,将需要选择初始化数据类型版本。
MaxCompute有3个数据类型版本,不同数据类型版本在定义和行为上有一定的差异。MaxCompute将数据类型相关属性组成3个组合,分别对应1.0数据类型版本、2.0数据类型版本和Hive兼容数据类型版本。详情请参见数据类型版本说明。
说明
此功能对存量项目的数据类型版本无影响。如果存量项目需要更新数据类型版本,请参见修改项目的数据类型版本。
2020年4月21日-MaxCompute权限新功能
MaxCompute权限新增功能如下:
-
支持将Label授权给角色(Role)。详情请参见Label权限控制。
-
Policy支持GRANT方式授权。详情请参见Policy权限控制。
-
支持Download权限控制。详情请参见Policy权限控制。
2020年4月20日-存储性能
2020年2月,MaxCompute数据存储格式全面升级为AliORC。
通过TPC-DS测试数据对AliORC、Apache ORC和Apache Parquet进行比对测试,为您提供了MaxCompute数据存储性能参照。AliORC在数据存储量、写入数据时长和读取数据时长方面都占有较大的优势。
2020年4月3日-按量付费单SQL消费限制
MaxCompute按量付费支持对单SQL作业进行消费限制监控。在SQL语句执行前先预估SQL语句的消费,当消费超过设定的值时,限制SQL语句执行,返回失败状态并给出失败信息。通过此功能预防单个SQL语句产生意料之外的高额费用。详情请参见单SQL消费限制。
2020年4月-新增项目支持选择数据类型版本
MaxCompute有3个数据类型版本,不同数据类型版本在定义和行为上有一定的差异。新增项目将需要自定义选择数据类型版本。MaxCompute将数据类型相关属性组成3个组合,分别对应1.0数据类型版本、2.0数据类型版本和Hive兼容数据类型版本。具体配置请参见数据类型版本说明。
新增项目初始化数据类型版本的功能计划于2020年4月开始生效,具体日期以最终通知为准。
说明
此功能对存量项目的数据类型版本无影响。如果存量项目需要更新数据类型版本,请参见修改项目的数据类型版本。
2020年3月16日-新增内置函数和Load命令
-
Load命令,支持从外部存储数据导入。
通过SQL语句直接将外部存储(例如OSS)上的数据写入MaxCompute内表中,省去了创建外表的步骤。详情请参见LOAD。
-
新增内置函数。
-
支持NUMERIC_HISTOGRAM和PERCENTILE_APPROX,详情请参见聚合函数。
-
支持FORMAT_NUMBER,详情请参见数学函数。
-
2020年3月15日-Instance Tunnel公网下载开始收费
2020年3月15日Tunnel Instance在公网下载开始收费,具体收费方式与当前的公网下载一致:
-
通过公网执行Tunnel Instance命令进行数据下载才会进行计量计费。
-
费用单价为当前下载单价0.8元/GB,具体请参见数据传输费用(公网下载)。
2020年2月26日-SQL升级
-
表级别支持禁止生命周期,具体使用请参见禁止或恢复生命周期,语法如下。
ALTER TABLE table_name [partition_spec] ENABLE|DISABLE LIFECYCLE;
语法说明如下:
-
TABLE DISABLE LIFECYCLE:禁止表的生命周期功能。
-
禁止表本身及其所有分区被生命周期回收,优先级高于
partition_spec enable lifecycle
。 -
禁止表的生命周期功能后,表的生命周期配置及其分区的ENABLE和DISABLE标记会被保留。
-
禁止表生命周期功能后,仍然可以修改表及分区的生命周期配置。
-
-
TABLE ENABLE LIFECYCLE:恢复表的生命周期功能。
-
表及其分区重新参与生命周期回收,默认使用当前表及分区上的生命周期配置。
-
恢复表生命周期前可以修改表及分区的生命周期配置,防止开启表生命周期后因使用之前的配置导致数据被误回收。
-
-
-
支持Clone Table,具体使用请参见CLONE TABLE。
MaxCompute SQL提供CLONE TABLE复制表数据到另一个表中,语法如下。
CLONE TABLE [PARTITION(spec), ...] TO [IF EXISTS (OVERWRITE | IGNORE)] ;
语法说明:
-
当目标表不存在时,CLONE TABLE会创建目标表(CREATE TABLE LIKE语义)。
-
当目标表已存在并指定IF EXISTS OVERWRITE,则覆盖目标表对应分区的数据。
-
当目标表已存在并指定IF EXISTS IGNORE,则跳过已存在分区,不覆盖目标表已有分区的数据。
-
-
Grouping Set支持复杂CUBE、Rollup、Grouping Sets嵌套使用。
Grouping Set支持CUBE、Rollup、Grouping Sets的嵌套使用。目前,在原有Grouping Set功能的基础上,扩充了Grouping的表达方式,详情请参见GROUPING SETS。
-
外表功能增强。
-
外表访问OSS支持HTTPS。
-
OSS外表支持MSCK REPAIR TABLE语法,详情请参见创建OSS外部表。
-
-
支持新内置函数。
-
TABLE_EXISTS,查询指定表是否存在。
-
PARTITION_EXISTS,查询指定表分区是否存在。
-
-
支持Python 3。
Python 2官方即将停止维护,越来越多的第三方库也开始只支持Python 3,因此MaxCompute也将正式支持UDF开发(Python3)。
-
SQL中列名书写错误的智能纠错提示。
运行SQL时,当输入的字段名有误,SQL引擎将进行联想并提示您正确的字段名。
-
核心引擎能力提升。
MaxCompute致力于持续的性能提升,例如:
-
内建字符串函数重构,提升函数运行性能。
-
Merge Join和Hash Join性能提升,原来的行式输出改为列式输出。
-
2020年1月14日-SQL兼容性升级
-
GET_IDCARD_AGE函数行为变更:
-
Get_Idcard_Age函数规则中”如果当前年份减去出生年份差值大于100则返回NULL“,升级为“返回年份减去出生年份差值”,即不存在大于100则返回NULL的情况。例如,
get_idcard_age('110101190001011009')
结果返回NULL,升级后结果为120。 -
如果您希望升级后,该函数返回结果保留现状,则需要找出对应的查询,评估后进行改造。可以通过
get_idcard_age
结果加IF函数或者CASE WHEN表达式来解决。原始查询
修改后查询
GET_IDCARD_AGE(idcardno)
if(GET_IDCARD_AGE(idcardno) > 100, NULL, GET_IDCARD_AGE(idcardno))
GET_IDCARD_AGE(idcardno)
CASE WHEN GET_IDCARD_AGE(idcardno) > 100 THEN NULL ELSE GET_IDCARD_AGE(idcardno) END
-
-
CONCAT_WS函数行为变更:
-
升级前,在查询运行时CONCAT_WS函数没有打开Hive兼容并且有3个及以上参数,其中有一个参数是ARRAY类型时,参数中的
array item
不会出现在最终的结果中。例如,concat_ws(',', array('a'), array('b', 'c'))
,期望结果为"a,b,c"
,但是当前结果为",,,"
。 -
升级后,无需打开Hive兼容,CONCAT_WS的参数支持STRING类型和ARRAY类型混合。
concat_ws(',', array('a'), array('b', 'c'))
的结果为"a,b,c"
。
-
-
Like%%
查询输入为空时返回值变更。Like字符匹配函数,当它的输入是空字符串,而Pattern是
%%
时,当前返回为False;升级后,则返回True。--创建表,向表中插入空字符串。 create table if not exists table_test (a string) lifecycle 3; insert into table table_test values (''); select a like '%%' from table_test; --当前返回如下。 +------+ | _c0 | +------+ | false | +------+ --升级后返回如下。 +------+ | _c0 | +------+ | true | +------+
2019年12月25日-开源地理空间UDF
MaxCompute支持兼容ESRI专门为Apache Hive实现的开源地理空间UDF,您可以将此开源地理空间UDF注册到MaxCompute中,以兼容开源Hive UDF的方式实现地理空间函数使用,详情请参见UDF(地理空间)。
2019年12月19日-包年包月非预留资源上线
包年包月发布新规格——非预留计算资源,售价为40元/CU/月。
-
该类型资源可和现有的标准计算资源、套餐资源同时购买,具体规格说明请参见包年包月非预留计算资源。
-
当前仅有部分区域可购买非预留资源(可购买区域会在购买页说明):
-
可购买的区域,在标准、套餐两种规格下非预留计算资源为非必买资源,如果要购买则30 CU起购。
-
其他不可购买的区域,非预留计算资源CU量默认为0不可变更,只能购买标准计算资源单元或者套餐资源。
-
该规格是计算资源数量为[0,购买量]的弹性资源,购买后系统不预留资源,发起任务时系统会在总资源池进行抢占并分配空闲资源。总资源池中空闲资源充足则可为您分配所购买的最大CU量,总资源池繁忙则可能为您分配0 CU。MaxCompute可保障您购买的非预留计算资源全天50%的计算力(一天计算力:资源数量×24小时)。
如果一个账号在华南1(深圳)区域,购买包年包月标准预留计算资源100 CU和非预留计算资源180 CU,则该账号在华南1(深圳)会有一个预留100 CU和非预留弹性[0,180] CU的计算资源池。该区域的项目选择包年包月资源后,项目中的计算任务都可以使用该计算资源池,当项目并发很多任务时,默认先占用预留资源,预留资源被占满则通过系统抢占分配使用非预留资源,根据公共资源池的空闲情况,非预留资源能分配使用的CU量为0 CU到180 CU。
关于计算力保障,您可以通过MaxCompute管家中的资源消耗图查看资源消耗了解保障情况。同时建议通过MaxCompute管家对资源组进行细分,指定不同Project使用不同配额组,同时可以配合Quota Tag功能指定某Task使用某个配额组,尽可能合理使用资源。
2019年11月15日-云监控支持对MaxCompute Project按量计费进行日、月SQL、MR总消费告警
云监控支持在MaxCompute Project按量计费模式下,对每日或者每月SQL以及MR的总消费进行告警,通过云监控配置Projec告警上限。当SQL、MR任务执行成功,会生成计量信息统计累积总金额。如果每日或者每月累积总金额到达告警上限,则进行告警通知。告警触发后,会提示您但是不会限制任务继续提交执行。统计方式如下:
-
统计的金额仅对计量信息按计费公式统计,不含折扣等。
-
按Project粒度统计,含SQL和MR计费项。
-
单SQL任务计费=输入量×复杂度×单价(0.3元)
-
单MR任务计费=计算时×单价(0.46元/计算时)
-
-
统计按日、月累计,次日、次月清零。
具体配置方式请参见监控报警。
2019年11月12日-Tableau支持MaxCompute数据源
MaxCompute JDBC driver是MaxCompute提供的Java Database Connectivity (JDBC)实现,可以通过标准的JDBC编程接口使用MaxCompute进行海量数据的分布式计算查询。MaxCompute JDBC driver还可以用于连接MaxCompute和支持其JDBC的工具。其中Tableau通过MaxCompute JDBC driver支持MaxCompute数据源,从而实现在Tableau上对MaxCompute数据进行可视化。
MaxCompute JDBC driver的详细信息请参考概述。
Tableau 连接MaxCompute的详细信息请参考配置JDBC使用Tableau。
2019年10月11日-MaxCompute SQL新功能
-
JOIN与SETOP支持括号指定优先级
SELECT * FROM src JOIN (src2 JOIN src3 on xxx) ON yyy; SELECT * FROM src UNION ALL (SELECT * FROM src2 UNION ALL SELECT * FROM src3);
详细内容请参见JOIN和交集(INTERSECT)、并集(UNION)和补集(EXCEPT)。
-
支持odps.sql.orderby.position.alias以及odps.sql.groupby.position.alias
当打开这两个Flag的时候,对应ORDER BY和GROUP BY中的整型常量被当做SELECT的列序号处理。
表src的列为key和value SELECT * FROM src ORDER BY 1; --等同于 SELECT * FROM src ORDER BY key;
详细内容请参见SELECT语法。
-
新增内置函数
-
新增内置函数
STRING JSON_TUPLE(STRING json,STRING key1,STRING key2,…)
:传入一组key和一个JSON字符串,返回一个元组。JSON_TUPLE()
支持包含中文的JSON数据解析,支持多层嵌套以及包含多重嵌套的数组的JSON数据解析。在需要对同一个JSON字符串多次解析的情况下,相比于多次调用get_json_object,json_tuple可以一次输入多个key,且JSON字符串只被解析一次,效率更高。 详情请参见字符串函数。 -
新增内置函数
INT EXTRACT(datepart from timestamp)
:提取日期的一部分,datepart支持YEAR、MONTH、DAY等时间描述,timestamp 为Timestamp类型数据。 详细请参见日期与时间函数。
-
-
支持指定表的列默认值
DEFAULT VALUE允许您创建TABLE的时候指定默认值,INSERT的时候如果不指定该列,则插入默认值,举例如下。
CREATE TABLE t (a bigint default 10, b bigint); INSERT INTO TABLE t(b) SELECT 100; --等同于 INSERT INTO TABLE t(a, b) SELECT 10, 100;
-
支持自然连接
自然连接(Natural Join)即参与JOIN的两张表根据字段名字自动决定连接字段。支持
outer natural join
,支持使用using
字段执行JOIN,输出字段中公共字段只出现一次,举例如下。--表src的列(key1, key2, a1, a2),表src2的列(key1, key2, b1, b2) SELECT * FROM src NATURAL JOIN src2; --由于 src 和 src2 有两个同名字段 (key1, key2) ,所以上面的JOIN相当于: SELECT src.key1 as key1, src.key2 as key2, src.a1, src.a2, src2.b1, src2.b2 FROM src INNER JOIN src2 ON src.key1 = src2.key1 AND src.key2 = src2.key2;
详细请参见JOIN。
-
支持LIMIT OFFSET
OFFSET语句和ORDER BY LIMIT语句配合,可以指定跳过OFFSET数目的行。如下面的语句将
src
按照key
从小到大排序后,输出第11到第20行 (OFFSET 10指定跳过前10行,LIMIT 10指定最多输出10行)。SELECT * FROM src ORDER BY key LIMIT 10 OFFSET 10;
详细请参见SELECT语法。
-
其他内置语法结构
-
支持IS DISTINCT FROM语法结构:
a is distinct from b
相当于not(a b)
,a is not distinct from b
相当于a b
。 -
支持字符串连接操作符(||):
a || b || c
相当于concat(a, b, c)
。
详细请参见运算符。
-
-
分区合并
MaxCompute有分区数量上限6万的限制,当分区数量过多时,可使用合并分区功能,对数仓数据进行归档,降低分区数量。合并分区功能会将同一个表下多个分区数据快速合并成一个分区,并删除之前分区,把数据移动到指定的分区下。语法格式如下,详细内容请参见分区和列操作。
ALTER TABLE MERGE [IF EXISTS] PARTITION() [, PARTITION() ...] OVERWRITE PARTITION() ;
-
Add/Drop Partitions
支持一次性增加或者删除多个分区,语法格式如下。
ALTER TABLE t ADD [IF NOT EXISTS] PARTITION (p = '1') PARTITION (p = '2'); ALTER TABLE t DROP [IF EXISTS] PARTITION (p = '1'), PARTITION (p = '2'); --注意ADD多个分区之间没有逗号,DROP的多个分区间有逗号。
2019年9月01日-MaxCompute存储降价
MaxCompute于2019年9月1日开始,对现有的存储费用进行降价,降价原则:
-
将原来的5个阶梯价调成3个阶梯价,减少存储计费复杂度。
-
将新阶梯单价调低,最终达到降价目的。
2019年9月1日前,原存储阶梯价如下。
存储量 |
阶梯单价 |
固定价 |
大于0 GB小于等于0.5 GB |
不涉及 |
0.01元/天 |
大于0.5 GB小于等于100 GB |
0.0192元/GB/天 |
不涉及 |
大于100 GB小于等于1 TB |
0.0096元/GB/天 |
不涉及 |
大于1 TB小于等于10 TB |
0.0084元/GB/天 |
不涉及 |
大于10 TB小于等于100 TB |
0.0072元/GB/天 |
不涉及 |
大于100 TB |
0.006元/GB/天 |
不涉及 |
2019年9月1日起,新存储阶梯价如下。
存储量 |
阶梯单价 |
固定价 |
大于0 GB小于等于0.5 GB |
不涉及 |
0.01元/天 |
大于0.5 GB小于等于10 TB |
0.0072元/GB/天 |
不涉及 |
大于10 TB小于等于100 TB |
0.006元/GB/天 |
不涉及 |
大于100 TB |
0.004元/GB/天 |
不涉及 |
存储计费统计方式不变,更多信息请参见存储费用:
-
存储到MaxCompute的数据,包括表(Table)和资源(Resource)等,会按照其数据容量的大小进行阶梯计费,计费周期为天。
-
以小时级别采集您每个项目空间下当前的存储使用情况,并以项目空间为基本单位,计算您当天的存储平均值再乘以单价。由于MaxCompute以项目空间为基本单位计算您当天的存储平均值,因此数据越集中存放在某个项目空间中,存储费用会越低。
假设您的某个项目的每天存储平均值为1 PB,原阶梯单价每天收取的费用如下。
100GB*0.0192元/GB/天
+(1024-100)GB*0.0096元/GB/天
+(10240-1024)GB*0.0084元/GB/天
+(102400-10240)GB*0.0072元/GB/天
+(10240*10240-102400)GB*0.006元/GB/天
=6428.81元/天
新阶梯单价每天收取费用如下。
10240 GB*0.0072元/GB/天
+(102400-10240)GB*0.006元/GB/天
+(10240*10240-102400)GB*0.004元/GB/天
=4411.39元/天
原单价与新单价在单个项目空间内对比如下。
数据量(TB) |
原价费用(元/天) |
新价费用(元/天) |
降价比例 |
10 |
88.20 |
73.73 |
16.41% |
100 |
751.76 |
626.69 |
16.64% |
1024 |
6428.81 |
4411.39 |
31.38% |
从表中可以看出,单个项目空间内存储量越高,在新阶梯单价下,降价率就越高。
2019年8月29日-外表自定义storagehandler实现Outputer接口升级
北京时间2019年8月29日,MaxCompute进行版本升级。期间,您在使用外表自定义storagehandler实现Outputer接口时,如果通过列名而非数字下标获取列数据,可能会引起作业失败。
升级时间:北京时间,2019年8月29日14:00~23:00
升级Region:美国西部1(硅谷)、亚太东南1(新加坡)
2019年8月21日-外表自定义storagehandler实现Outputer接口升级
北京时间2019年8月21日,MaxCompute进行版本升级。期间,您在使用外表自定义storagehandler实现Outputer接口时,如果通过列名而非数字下标获取列数据,可能会引起作业失败。
升级时间:北京时间,2019年8月21日14:00~23:00
升级Region:亚太东北1(东京)、欧洲中部1(法兰克福)、中国(香港)、亚太东南2(悉尼)
影响原因:Outputer.output(Record record)
中,传入的record为Outputer的上一个Operator产生的记录,列名可能发生变化,系统无法保证固定列名。
例如,表达式some_function(column_a)
产生的列名是一个临时列名。因此,使用record.get(列名)
方式来获取列内容的用法都有可能受到影响,建议使用record.get(index)方式
获取。Outputer里如需获取表的列名,请调用 DataAttributes.getFullTableColumns()
。
2019年6月25日-SQL语言功能升级
-
UDT支持Resource
UDT支持资源(Resource)的访问。您可以在SQL中通过
com.aliyun.odps.udf.impl.UDTExecutionContext.get()
静态方法获取ExecutionContext
对象,从而访问当前的ExecutionContext
,进而访问资源(例如文件资源和表格资源)。详情请参见UDT概述。 -
UDT实现函数重载
MaxCompute的UDF使用重载
evaluate
方法的方式来重载函数。这种方式不支持泛型,所以当您需要定义一个可以接受任何数据类型的函数时,必须为每种类型都写一个evaluate
函数。但是,这种方法依然无法实现个别输入类型(例如ARRAY)的重载函数。在没有提供Resolve注解(Annotation)的情况下,Python UDF或UDTF会根据参数个数决定输入参数,同时支持变长参数,但这种过于灵活的机制也会导致编译器无法静态找到某些错误。通过UDT实现函数重载,可以很好地解决以上问题。UDT支持泛型、类继承、变长参数,为您提供灵活的函数定义方式。详情请参见UDT概述。 -
UDAF/UDTF支持动态参数
MaxCompute UDAF和UDTF中的Annotation里,支持在输入参数部分使用星号(
*
)和ANY
。星号*
)表示接受任意长度且任意类型参数,ANY
表示接受任意类型的参数。UDTF的返回值使用星号(*
)时,表示返回任意个STRING类型的值,而ANY
不能用于返回值列表中。详情请参见UDAF和UDTF动态参数说明。 -
参数化视图
MaxCompute传统的视图(VIEW)中,底层可以封装一段逻辑复杂的SQL脚本,调用者可以像读普通表一样调用视图,无需关心底层的实现。传统的视图实现了一定的封装与重用,因此被广泛地使用。但是传统的视图并不接受调用者传递的任何参数,导致代码重用能力低下。MaxCompute当前的SQL引擎支持带参数的视图,支持传入任意表或者其它变量,定制视图的行为。详情请参见参数化视图。
-
UDF支持分区裁剪
UDF已支持分区裁剪,支持的方式是将UDF语句先当做一个小作业执行,再将执行的结果替换到原来UDF出现的位置 。实现的方式有以下两种:
-
在编写UDF的时候,UDF类上加入Annotation。
@com.aliyun.odps.udf.annotation.UdfProperty(isDeterministic=true)
说明
请把引用的odps-sdk-udf版本提高到0.30.x或以上。
-
在SQL语句前设置Flag:
set odps.sql.udf.ppr.deterministic = true;
,此时SQL中所有的UDF均被视为deterministic
。该操作执行的原理是做执行结果回填,但是结果回填存在限制,即最多回填1000个Partition。因此,如果UDF类加入annotation
,则可能会导致出现超过1000个回填结果的报错。此时您如果需要忽视此错误,可以通过设置Flag:set odps.sql.udf.ppr.to.subquery = false;
全局关闭此功能。详情请参见WHERE子句(where_condition)。
-
-
支持
show create table
命令类似Hive中的
show create table
的语法,可以直接查看建表语句便于移植。详情请参见表操作。
2019年5月8日-包年包月套餐发布
MaxCompute包年包月套餐开始售卖,支持的套餐规格为:
-
存储密集型160套餐(含计算资源160 CU+存储资源150 TB)
-
存储密集型320套餐(含计算资源320 CU+存储资源300 TB)
-
存储密集型600套餐(含计算资源600 CU+存储资源500 TB)
购买套餐后,存储超出套餐资源会按量收费,价格比标准版更优惠。具体的套餐说明请参见包年包月套餐版。
2019年3月26日-SQL语言功能升级
-
支持Grouping Set多维聚合分析(Cube,Roll up),适配需要对a列做聚合,也要对b列做聚合,或者同时要按照a、b两列做聚合的场景。具体的使用方法请参见GROUPING SETS。
-
支持INTERSECT/MINUS/EXCEPT,具体使用方法请参见交集(INTERSECT)、并集(UNION)和补集(EXCEPT)。
-
通过外表读取OSS上的ORC和Parquet格式的文件时,支持对文件的列裁剪,有效减少IO量,节省计算资源和成本。
-
Java UDX类型系统增强:UDF支持Writable参数,具体使用方法请参见UDF开发(Java)。
SQL性能优化
-
DynamicDAG:动态优化的必要机制,它可以将一个优化(可能是资源配置或算法选择)延迟到运行时,以便提高优化的精准度,降低产生较差计划的可能性。
-
ShuffleRemove Optimization:针对Shuffle的优化。 从本次版本升级开始,MaxCompute将支持对inner join时右表key相同的场景进行Shuffle Remove优化。
2019年3月19日-MaxCompute 支持开发者版
从2019年3月19日开始,MaxCompute按量付费购买模式支持开发者版。您过去购买的MaxCompute按量付费模式为标准版。
目前开发者版只支持北京、上海、杭州、深圳4个Region。一个Region内您只能有一个项目可使用开发者版资源,且仅新创建的项目可选择开发者版资源。
开发者版的SQL计费标准为:
一次SQL计算费用=计算输入数据量*SQL价格
SQL价格为0.15元/GB。开发者版项目可以转换为标准版,标准版项目不能转换成开发者版。
2019年2月1日-MaxCompute Spark及MaxCompute Lightning开始收费
从2019年2月1日开始,MaxCompute Lightning(交互式分析)服务及MaxCompute Spark服务开始计费。
MaxCompute Lightning查询任务的计费公式为:
一次Lightning查询费用 = 查询输入量*单价
MaxCompute Spark采用的计费标准如下:
Spark任务当日计算费用 = 当日总计算时×0.66元(人民币)
详情请参见计量计费说明。
2019年1月23日-开始分批升级上海Region的时区定义
MaxCompute将于2019年1月23日开始分批将上海Region的时区定义从tzdata-2011g-1升级到tzdata-2015g-1.1。
升级影响:在升级过程中,如果您对1927年以前的中国时区时间进行操作,执行结果会有漂移,示例如下。
select to_date('0001-01-01', 'yyyy-mm-dd');
执行结果为0001-01-01 00:00:09
。
升级完成后,不会有此类影响。
操作建议:如果您在1月23日之后有针对1927年以前的中国时区时间的操作,请注意检查执行结果是否受到影响,并进行相应处理。
2019年1月15日16:00~20:00-中国(香港)Region底层优化
为向您提供更好的产品性能和稳定性,MaxCompute将于北京时间2019年1月15日16:00~20:00对中国(香港)Region底层元数据仓库组件进行优化。在优化期间,中国(香港)Region用户的应用可能出现1分钟左右任务无法提交、运行中任务失败的情况。极端情况下,应用不可用时间将延长至30分钟。请您尽量避免在迁移窗口提交作业。其他Region不受影响。如果您有任何问题,可随时通过企业钉钉群反馈。
2018年11月9日-Hash Clustering功能发布
Hash Clustering通过允许在建表时设置表的Shuffle和Sort属性,使得MaxCompute可以根据数据已有的存储特性来优化执行计划,提高效率,节省资源消耗。如果在初始表数据生成时,按照Hash Shuffle和Sort的方式存储,则后续查询中将避免对数据的再次Shuffle和Sort。具体如何在建表时设置、查看、管理Shuffle和Sort属性请参考DDL语句。
说明
目前Hash Clustering还存在限制:
-
不支持INSERT INTO,只能通过INSERT OVERWRITE来添加数据。
-
不支持Tunnel直接Upload到Range Cluster表,因为Tunnel上传数据是无序的。
2018年11月3日-底层服务软件缺陷修复
2018年11月3日10:00~19:00将对MaxCompute底层服务进行软件缺陷修复。正常情况下,您不会感知到升级过程。极端情况下,可能会产生约20分钟的作业运行失败或作业提交失败。一旦出现作业失败,请您重新提交失败任务反馈。
2018年10月31日-SQL外部表功能开启计费
从2018年10月31日开始,MaxCompute SQL外部表功能开始计费。采用的计费标准为一次SQL计算费用=计算输入数据量*SQL复杂度*SQL价格。SQL价格是0.03元/(GB*复杂度),复杂度系数为1。当天的所有计量信息在第二天做一次性汇总收费,并直接体现在您的账户账单中。
2018年10月16日-Python UDF全面开放
从2018年10月16日开始,MaxCompute公共云环境下的Python UDF使用权限将全面开放,新增的Project默认可用Python UDF,具体的Python UDF使用方式请参考文档Python UDF。
2018年10月15日-新增Project的setproject 2.0新类型默认为True
从2018年10月15日开始,MaxCompute创建的新Project,odps.sql.type.system.odps2
属性默认为True,对setproject
的详细说明请参见:其它操作。
2018年9月29日-SQL语言升级
MaxCompute Sprint29中发布的新功能如下:
-
UDJ
为了满足用户很多跨表操作的需求,MaxCompute S29版本在UDF框架中引进了新的扩展机制:UDJ(User Defined Join)。UDJ提供了让用户自定义Join实现逻辑的接口。如何定义和使用UDJ,详情请参见自定义Join(UDJ)。
-
UDT
为了提升SQL语言编译过程的易用性与语言的表达能力,例如使用select transform可以不创建Function甚至不上传资源的情况下执行其他语言的脚本,MaxCompute2.0基于新一代的SQL引擎增加了UDT(User Defined Type)新功能。
UDT功能允许用户在SQL中直接引用第三方语言的类或者对象,获取其数据内容或者调用其方法。例如在SQL中直接写Java的表达式,并可以引用JDK中的类。如何使用UDT,详情请参见UDT。
说明
-
目前UDT只支持Java语言。
-
所有的运算符都是MaxCompute SQL的语义,不是UDT的语义。
-
目前UDT不能用作Shuffle Key:包括join、group by、distribute by、sort by、order by、cluster by等结构的Key。
-
DDL不支持UDT,也不能将UDT对象insert到表中。屏显的最终结果也不能是UDT类型。
-
-
支持Outer Lateral View
MaxCompute 扩展了Lateral View功能,支持Outer Lateral View,当Table Function不输出任何一行时,对应的输入行在Lateral View结果中依然保留,且所有Table Function输出列为Null。关于Lateral View介绍请参考文档DML语句的Lateral View部分。
-
支持Scalar Subquery
子查询支持Scalar Subquery,即当Subquery的输出结果为单行单列的时候,可以当做标量来使用。具体使用介绍请参见DML语句子查询(SUBQUERY)中的Scalar Subquery部分。
2018年9月26日-元数据仓库组件优化
为了提升您的MaxCompute使用性能,系统即将对元数据仓库组件进行优化,届时您会提前收到以下信息:
尊敬的阿里云用户您好,大数据计算服务MaxCompute为向您提供更好的产品性能和稳定性,将于北京时间2018年9月26日16:00~20:00对底层元数据仓库组件进行优化,您的应用可能出现1分钟左右任务无法提交、运行中任务失败的情况。极端情况下,应用不可用时间将延长至30分钟。请您尽量避免在迁移窗口提交作业。感谢您的理解和支持!谢谢。有任何问题,可随时通过企业钉钉群联系反馈。
2018年-MaxCompute例行优化
为了提升您的MaxCompute使用性能,系统每个月将会对文件数占用较多的Project进行小文件合并,届时您将会提前收到以下信息:
尊敬的客户,您好:为了提升您的MaxCompute使用性能,我们计划于XX年XX月XX日对文件数占用较多的Project(只会涉及到5天内未被访问分区)进行小文件合并,此操作是后台自动做,您无需参与。Merge执行过程中,作业读取正在被Merge的表会有小概率失败,业务上重试即可成功,届时请关注相关业务,如有异常随时通过企业钉钉群进行反馈。
说明
如果您收到报错:ODPS-0010000:System internal error – PanguOpen4Read4R,说明作业正在读取被Merge的表,请在业务上重试。
2018年9月17日支持setproject 2.0新类型和兼容Hive模式
为了提升MaxCompute 2.0的使用体验,支持对Project级别进行新类型和兼容Hive模式打开,即对原来Session级别的set odps.sql.type.system.odps2=true|false
和set odps.sql.hive.compatible=true|false
两个功能,升级为支持setproject
级别。Project的Owner可根据需要对Project进行设置,命令为:
setproject odps.sql.type.system.odps2=false|true
setproject odps.sql.hive.compatible=false|true
对setproject
的详细说明请参见:其它操作。
说明
打开Project级别的新类型的主要影响:
-
某些隐式类型转换会被禁用,包括STRING->BIGINT、STRING->DATETIME、DOUBLE->BIGINT、DECIMAL->DOUBLE、DECIMAL->BIGINT都是有精度损失或者可能报错的。您依旧可以用Cast来做强制转换。
-
常量类型会变化。单独一个整型常量,例如123,在旧类型下是BIGINT类型,在新类型下是INT类型。
-
UDF Resolve结果可能变化,例如UDF包含BIGINT和INT两个重载。旧类型下一定走BIGINT的重载,而新类型下可能会被解析到INT的重载。
-
Session级别会覆盖Project级别设置。
2018年5月底-NewSQL开启计费
MaxCompute New SQL采用的计费标准为一次SQL计算费用=计算输入数据量×SQL复杂度×SQL价格
。当天的所有计量信息在第二天做一次性汇总收费,并直接体现在您的账户账单中。
2018年1月16日流量切换公告
1月16日14:00~17:00对MaxCompute前端、Tunnel服务进行流量切换。
2018年1月15日开放label、Package安全模型
2018年1月15日,MaxCompute的安全模型开放label和Package,即列级别访问控制和跨项目空间的资源分享。
2018年1月10日禁止Full scan功能开放
2018年1月10日20点新创建的项目(Project)默认禁止分区表全表扫描,即对该项目的分区表执行全表扫描语句时会返回失败,必须指定分区条件,若实在需要,可以在对分区表全表扫描的SQL语句前加一个set语句set odps.sql.allow.fullscan=true;
,执行的时候,set语句和SQL语句一起提交执行。
2017年11月28-29日内部维护升级公告
由于MaxCompute内部维护升级出现问题,2017-11-28 22:00~2017-11-29 18:40期间的计算计量和存储计量未及时出账,相应账单会延后推送,但不影响最终计费结果,由此给您造成的不便深感抱歉。
2017年11月1日-华北2(北京)Region开服
2017年11月1日,阿里云数加>MaxCompute华北2(北京)数据中心将正式开服售卖。
售价与华东2、华南1一致,详情请参见计算费用(包年包月)。
开通时,选择什么Region您需要考虑的最主要因素是MaxCompute与其他阿里云产品之间的关系。
不同区域数据不能互通,仅针对MaxCompute而言,假如您既购买华东2又购买华北2的服务,那么MaxCompute之间的数据不互通。
如果您的云服务器ECS不在北京Region,若想访问连接北京的MaxCompute,需跨Region进行访问。跨Region访问的各种服务连接请参见Endpoint。
2017年10月11日-包年包月支持自动续费
2017年10月11日,MaxCompute的包年包月实例开始支持自动续费,可在阿里云控制台的续费管理中心操作。
MaxCompute续费的操作介绍请参见续费管理,更多自动续费的介绍请参见自动续费功能。
2017年9月19日-中国(香港)Region开服
2017年9月19日,阿里云数加>MaxCompute中国(香港)数据中心将正式开服售卖。
售价与华东2、华南1一致,详情请参见计算费用(包年包月)。
开通时,选择什么Region您需要考虑的最主要因素是MaxCompute与其他阿里云产品之间的关系。
不同区域数据是不能互通,仅针对MaxCompute而言,假如您既购买华东2又购买中国(香港)的服务,那么MaxCompute之间的数据不互通。
如果您的云服务器ECS不在中国(香港),若想访问连接中国(香港)的MaxCompute,需跨Region进行访问。跨Region访问的各种服务连接请参见Endpoint。
2017年9月7日-华南1(深圳)Region开服
2017年9月7日,阿里云数加>MaxCompute华南1(深圳)数据中心将正式开服售卖,这是数加>MaxCompute在中国开服的第二个区域。
关于售价
华南1区域价格与华东2一致,主要分三部分进行收费:存储、计算和下载,其中计算(指SQL和MR计算任务)分包年包月、按量付费两种模式,存储和下载都是按量付费。做预算的具体的售价信息请参见官网定价页或计算费用(包年包月)。
关于开通
请您确保云账号是实名认证的账号,在开通购买页面进行区域选择时,注意选择华南1。那么什么场景适合选择区域是华南1呢?
选择地域时,您需要考虑的最主要因素是MaxCompute与其他阿里云产品之间的关系,示例如下:
-
ECS在华南1区域。ECS访问、下载华南1的MaxCompute数据都可以通过内网,快速又避免跨Region走公网下载,从而产生费用。
-
数据在华南1区域。如RDS、OSS、TableStore等在华南1区,那么在和华南1的MaxCompute进行数据传输时可以走内网,避免跨Region配置阿里云内网或VPC网络时不保证连通性的情况。
关于不同区域数据是否互通
仅针对MaxCompute而言,假如您既购买华东2又购买华南1的服务,那么MaxCompute之间的数据不互通。
如果您的云服务器ECS不在华南1,若想访问连接华南1的MaxCompute,需跨Region进行访问。跨Region访问的各种服务连接请参见Endpoint。
关于数据跨Region迁移
若您原来已经开通购买华东2区域,目前想使用华南1区域,所以希望将华东2的所有数据迁移到华南1。建议您通过以下方式进行迁移。
通过配置数据集成任务进行数据同步,如在华南1区域创建好的项目中,配置数据集成任务,来读取华东2区域的表,写入到华南1区域的表中。
说明
如果您对新服购买有疑惑,可通过加入MaxCompute购买钉钉群(群号:11782920)进行咨询。
2017年8月16日-MR开启计费
MaxCompute MapReduce任务开启按量计费。计费标准如下:
MR任务当日计算费用=当日总计算时×0.46元(人民币)
一个MR任务一次执行成功的计算时=任务运行时间(小时)*任务调用的core数量。
如一个MR任务一次执行成功是调用了100 core并花费0.5小时,那么本次执行计算时为:0.5 小时×100 core=50个计算时。
详情请参见计算费用(包年包月)。
2017年7月-开始分批升级MaxCompute2.0
说明
2017年9月底将全面升级开放MaxCompute2.0,MaxCompute2.0 NewSQL及非结构化(外表)处理能力公测阶段,不收取费用,具体收费时间等待官方通知。
MaxCompute2.0已经正式开始,升级后的MaxCompute2.0完全拥抱开源生态,支持更多的语言功能,带来更快的运行速度,同时新版本会执行更严格的语法检测。升级的具体时间会在分批升级时另行通知。
升级后需要对部分SQL语法做出调整,详情请参见修改不兼容SQL实战。
本次MaxCompute2.0产品升级以下功能:
-
全新的SQL引擎
更快的SQL执行引擎:降低企业大数据分析成本,SQL执行效率更高。
-
生态兼容
MaxCompute显著提升了针对Hive等开源产品的兼容性,直接兼容Hive的UDF、UDAF和UDTF。Hive开发的大部分UDF、UDAF和UDTF可不经修改,直接在MaxCompute中运行。
详情请参见INSERT操作、SELECT操作、数据类型、日期函数、数学函数、字符串函数、其他函数和JAVA UDF等相关文档。
-
非结构化处理能力
通过MaxCompute SQL直接处理OSS或TableStore(OTS)数据,从而处理音频、视频、图像、气象等非结构化数据以及K-V类型的数据。
详情请参见外部表概述、访问OTS非结构化数据和访问OSS非结构化数据。
-
MaxCompute Studio
MaxCompute编译器基于MaxCompute2.0全新自主研发的SQL引擎,尤其配合使用MaxCompute Studio,提供了丰富的错误提示、警告的功能及作业排队展示。详情请参见巧用MaxCompute编译器的错误和警告。
2017年6月1日
尊敬的阿里云客户:
MaxCompute目前只针对SQL作业进行收费,MapReduce作业近期将开启收费。
MaxCompute近期将进行2.0版本升级,升级过程中会逐批进行,本次版本变更将带来一些新特性:
-
SQL执行引擎
降低大数据分析成本,SQL执行效率更高。
-
非结构化处理能力
通过MaxCompute SQL直接处理OSS或TableStore(OTS)数据,从而处理音频、视频、图像、气象等非结构化数据以及K-V类型数据。
-
生态兼容
MaxCompute MapReduce SDK高度兼容了开源Hadoop MapReduce的使用场景。
-
基于InteliJ的本地开发插件
本地对MaxCompute作业进行开发、调试。
-
实时数据上传
新增DataHub模块,帮助企业数据实时上传。
-
新型算法平台
基于GPU的深度学习算法框架、在线预测服务等。
2016年09月16日
尊敬的阿里云客户:
MaxCompute在11月1日进行了计费变更。本次变更升级存储及计算两个方面:
-
升级后,修复部分SQL作业无法计费的问题。
-
升级后,解决部分场景下MaxCompute存储费用存在的问题。升级后,存储将按照实际情况收费。
以上两处之前均不存在向您多收取费用的情况,对于历史作业不做费用补收。您可以通过计量计费说明中获取账单详情,从阿里云官网获取每天详细的计量计费信息。
目前MaxCompute只有SQL作业收费(不包括UDF),UDF、MapReduce、Graph和PAI等作业仅是公测状态。具体收费计划请关注官网公告。
感谢您长期以来对MaxCompute产品的支持。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/156943.html