阿里云 MaxCompute 2020-7 月刊
2020年8月5日 “MaxCompute企业级安全新能力发布”,解读SaaS模式云数据仓库MaxCompute数据的持续保护。
了解发布详情>>
【7月新发布功能】
1.MaxCompute使用包年包月计算资源作业支持优先级功能
MaxCompute支持作业优先级的功能可以更合理分配使用包年包月计算资源,给高优先级业务加一道保障。
适用客户
适用于MaxCompute使用包年包月计算资源的用户。
发布功能
使用MaxCompute包年包月计算资源时,资源池为独享同时也是有限的,而业务优先级不同,对应的任务也有不同优先级,当任务都处在资源等待状态时,通过优先级功能,可以让优先级高的任务优先获取到资源执行,从而更合理分配使用有限的计算资源。
此功能同时支持关联DataWorks调度任务基线优先级,若通过DataWorks使用MaxCompute,且有调度任务,可以根据业务划分调度任务优先级,当调度任务发起MaxCompute job时,对应的优先级会传到MaxCompute转化成MaxCompute的优先级。
开启使用优先级功能前,务必要先梳理好各任务/流程优先级,避免滥用高优先级从而达不到预定的效果。
查看文档 >>
2.MaxCompute管家支持对包年包月配额组分时管理
MaxCompute管家支持对包年包月配额组分时管理,满足对不同工作负载能力的项目时段进行资源隔离,避免相互干扰,提高资源使用率。
适用客户
MaxCompute包年包月计算资源用户
发布功能
MaxCompute包年包月资源可以通过MaxCompute管家进行配额管理,新支持的配额组分时功能,可以实现因不同项目(开发、生产)1天之内对资源使用的时段不同而需要对配额组按照时段来分配大小的需求,从而满足时段的差异化资源需求,更大化提高资源使用效率。
分时配额功能主要是支持包年包月的预留型计算资源的分时设置,可以根据业务需求,对配额进行分时,然后划分N个包年包月资源配额组,每个配额组每个时段设置具体的预留CU最大和最小值,并关联对应的project。如生产项目关联的配额组在夜间时段可分配多些预留资源,而开发项目管理的配额组可在白天开发高峰期分配多些预留资源,由此隔离生产/开发/不同工作负载的能力,更大化提高资源使用率。
查看文档 >>
3.MaxCompute 使用包年包月计算资源的Project支持指定SQL任务使用按量付费计算资源
MaxCompute支持包年包月项目中的SQL使用按量计费资源,突破了独享资源的局限,从而更灵活更合理的使用包年包月资源。
适用客户
MaxCompute包年包月计算资源用户
发布功能
MaxCompute使用包年包月的项目支持指定SQL提交到关联的按量付费计算资源池执行。在使用此功能前,需要先开通对应区域的按量付费服务,还要评估哪些使用包年包月资源的项目有SQL任务需要指定使用按量付费计算资源。确认好后,通过MaxCompute 管家将包年包月的项目增加按量付费配额组,再在对应包年包月项目指定SQL作业使用按量付费资源运行,指定好后此SQL每次执行会直接提交到按量付费资源池中执行,执行成功则按量付费。
在该功能之前,同个项目同个业务需求有任务需求使用按量付费资源池时,需要单独创建按量付费项目并在项目中创建任务进行执行,还需要打通项目之间的权限,跨项目任务依赖等额外的管理工作,使用起来便捷性和体验都比较差,而“包年包月的项目支持指定SQL使用按量付费计算资源”功能将带来更好的使用体验从而提升工作效率。
查看文档 >>
4.MaxCompute新增项目的默认数据类型版本从1.0变更为2.0
MaxCompute通过DataWorks控制台新增项目时,项目的默认数据类型版本从1.0变更为2.0。
适用客户
MaxCompute公共云用户
发布功能
MaxCompute通过DataWorks控制台新增项目时,项目的默认数据类型版本从1.0变更为2.0。该变更已于2020年7月13日到2020年7月22日陆续对中国站各个区域进行了升级,并将于2020年7月29日到2020年8月6日陆续对国际站各个区域进行升级。如果您之前创建过存量项目,新建项目时需要选择合适的数据类型版本。不同数据类型版本的项目进行数据交互时可能会引起兼容性问题。
MaxCompute有3个数据类型版本,不同数据类型版本在定义和行为上有一定的差异。MaxCompute将数据类型相关属性组成3个组合,分别对应1.0数据类型版本、2.0数据类型版本和Hive兼容数据类型版本。详情请参见数据类型版本说明。
数据类型版本说明 >>
创建项目空间说明 >>
5.Python UDF支持更多数据类型
Python 2 UDF 和Python 3 UDF 支持更多数据类型。
适用客户
MaxCompute公共云用户。
发布功能
Python 2 和Python 3 的UDF/UDTF/UDAF 新增支持 DECIMAL、数据类型2.0的DECIMAL、复杂类型ARRAY、MAP、STRUCT和复杂类型嵌套。
目前Python UDF 支持数据类型包括BIGINT、STRING、DOUBLE、BOOLEAN、DATETIME、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 >>
6.MaxCompute新增APPROX_DISTINCT等内建聚合函数
MaxCompute新增内建聚合函数,包括APPROX_DISTINCT、ANY_VALUE、ARG_MAX、ARG_MIN等。
适用客户
MaxCompute公共云用户。
发布功能
MaxCompute新增内建聚合函数,包括APPROX_DISTINCT、ANY_VALUE、ARG_MAX、ARG_MIN等。
APPROX_DISTINCT(value) 返回输入的非重复值的近似数目。
ANY_VALUE(value) 实现在取值范围内任选一个值返回。
ARG_MAX(valueToMaximize, valueToReturn) 返回指定判断列最大值的行对应的指定返回列的值。
ARG_MIN(valueToMaximize, valueToReturn) 返回指定判断列最小值的行对应的指定返回列的值。
查看文档 >>
7.MaxCompute支持代码嵌入式UDF
MaxCompute的代码嵌入式UDF允许在SQL脚本中直接书写Java或Python代码。
适用客户
MaxCompute公共云用户。
发布功能
代码嵌入式UDF功能支持把Java或Python代码嵌入到SQL脚本中,即将SQL脚本和第三方代码放入同一个源码文件,减少了使用UDT或UDF的操作步骤,给日常开发和维护带来了便利。
在脚本编译的时候,编译器把嵌入代码识别并提取出来,做必要的编译(Java 代码),动态生成资源,然后结合创建临时函数(Temporary Function)的能力来注册函数。这样,您可以在一个SQL脚本中完成代码编译(Java)、添加资源、创建函数这一系列的操作。代码嵌入式UDF功能还能够解决维护人员阅读他人SQL代码时,无法查看含有UDF的代码内部实现逻辑,甚至有些jar包找不到源码的问题。
查看文档 >>
8.MaxCompute支持SQL语言定义函数
SQL语言定义函数允许在SQL中使用SQL定义的UDF并调用。
适用客户
MaxCompute公共云用户。
发布功能
MaxCompute UDF支持java或者Python定义,很多时候需要实现一些比较简单的的功能,而这些功能有的可以直接通过SQL来描述出来,因此MaxCompute支持SQL语言定义函数(SQL Function),避免编译(Java UDF),添加资源,创建函数等复杂操作,提高代码易读性和代码复用率。SQL Function 能够在SQL中使用SQL定义的UDF并调用。SQL Function可以接受 Function类型的参数。调用时传入的可以是内置函数、UDF 或者 Sql Functions。SQL Function 支持匿名函数,即接受 Function类型参数的SQL Function,调用时传入匿名函数。
SQL Function 作为一种用户自定义函数,弥补了之前系统只能用Java/Python写UDF的不足。此外还扩展了Function Type和匿名函数等特性,让您表达业务逻辑具有了更多的灵活性。
MaxCompute 产品官网 https://www.aliyun.com/product/odps
阅读往期月刊 https://yq.aliyun.com/publication/49
更多关于大数据计算产品技术交流,可扫码加入“MaxCompute开发者社区”钉钉群

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云 MaxCompute 2020-6 月刊
导读 【6月新发布功能】【6月新发布文档】【6月精选技术文章】【7月精选活动预告】 【6月新发布功能】 1. MaxCompute备份与恢复功能(公测)发布 MaxCompute备份与恢复功能提供持续备份用户修改/删除历史数据,支持快速恢复,持续保护数据安全。 适用客户对数据保护有强需求客户/担心数据误删除的客户/担心数据被恶意删除的客户,适合广泛的企业级客户。 发布功能MaxCompute提供数据备份与恢复功能,系统会自动备份数据的历史版本(例如被删除或修改前的数据)并保留一定时间,您可以对保留周期内的数据进行快速恢复,避免因误操作丢失数据。备份与恢复功能具备以下特点: 默认开启,不需要手动开通-- 该功能不依赖外部存储,系统默认为所有MaxCompute项目开放的数据保留周期为1天,备份和存储免费。 自动持续备份-- 系统自动对发生变更的数据进行备份,多次变更时将备份多个数据版本,相比固定周期性的备份策略,可以有效避免因误操作丢失数据。 恢复快速,操作简单-- MaxCompute具备先进的元数据和多数据版本管理能力,备份和恢复操作不占用额外的计算资源,您可以通过命令快速恢复不同规...
- 下一篇
一文看懂HashMap扩容为什么是2的n次幂
1.什么是HashMap? HashMap是Java中的集合类,是存放键值对形式的数据(Key和Value),例如QQ账号和QQ密码,QQ账号就是Key而密码则是Value。如下图所示(假如QQ账号为123456,密码为abcdef) 运行结果如下所示 如果存放相同的Key,那么Value将会被覆盖,类似于QQ更改密码,账号不会变,只有密码会进行更改。 运行结果如下所示 2.为什么扩容2的n次幂? 首先先看一下HashMap中的putVal方法(存值的)和resize方法(扩容的),之所以HashMap扩容是2的n次幂和这两个方法有千丝万缕的联系。 通过putVal方法可以看出来HashMap在存值时会先把key的hash值和扩容后的长度进行一次按位与运算,其中hash是在hash方法中把key进行计算后的出来的结果,n是扩容的长度(也就是数组的长度,默认为16),然后判断是否hash碰撞在进行不同的存储。如下图源码所示。 通过resize方法可以看出来扩容时会新建一个tab,然后遍历旧的tab,将旧的元素进行e.hash & (newCap - 1)的计算添加进...
相关文章
文章评论
共有0条评论来说两句吧...