阿里云 MaxCompute 2020-7 月刊

**2020年8月5日 “MaxCompute企业级安全新能力发布”,解读SaaS模式云数据仓库MaxCompute数据的持续保护。**
[了解发布详情>>](https://developer.aliyunc p B / + n.com/live/43485)

**【7月新发布R l X A V u功能】**
**1.MaxCompute使用包年包月计算资源作业支持优先级功能**
MaxCompux ; F yte支1 * 4 z持作业优先j f t E } {级的功能可以更合E K # , J ? m X理分配使用包年包月计算资源,给高优先级业务加一道保障。
**适用客户P 3 z F ! i**
适用于MaxCompute使用包年包月计算资源的用户。
**发布功能**
使用MaxCompute包年包月计算资源时,资源池为独享同时= C U ! F P D也是有限的,而业务优先级不同,对应的任务也有不同优先级,当任务都处在资源等待状态时,通过= Y E o A / d优先级功能,可以让优先级高的6 m $ A 0 x J P任务优先获取到资源执行,从而更合理分配使用有限的计算资源。
此功能同时支持关联DataWorks调度任务基线优先级,若通过DataWorks使用MaxCompute,且有调度任务,可以根据业务划分调度任务优先级,当调2 ? U s G Z s b度任务发起MaxCompute job时,对应的H 9 a [ w x优先级会传到MaxCompute转化成MG 3 8axCompute的优先级。
开启使用V U s _ q K V ?优先级功能前,务必要先梳D Q d Y O 3理好各任务/流程优8 ] v a y . 先级,避免滥用高优先级从而达不到预定的效果。
[**查看文档 >>**](https://help.aliyun.com/document_deta, _ l p x k : r Xil/175617.html)

**2.MaxCompute管家支持对包年包月配额组分时管理**
MaxCompute管家支持对包年包月配额组分时管理,满足对不同工作负载能力/ u 4 Y的项目时段进行资源隔离,避免相互干扰,提高资源使用率。
**适用客户**
MaxCo/ [ ! !mpute包年包月计算资源用户
**发布功能**
MaxCompute包年包月资源可以通过MaxCompute管家进行配额管理,新支持的配额组分时功能,可以实现因不同@ ? { ) y O = V项目(T B 8 o E f开发、生产)1天之内对资源使用的时段不同而需要对配额组按照时段来分配大小的需求,从而满足时段的差异化资源需求,更大化提高资源使用效率。
分时配额功能主要是支持包年包月的预留型计算资源的分时设置,可以根据业务需求,对配额进行分时,然后划分N个包年包月资源配额组,每个配额组每个时段设置具体的预留CU最大和最小t M I t 1 . d值,并关联对应的project。如生产项目关联的配额组在夜间时段可分配多些 : Z 4预留资源,而开发项目管理的配额组可在白天开发高峰期分配多些预留资源,由此隔离生产/开发/不同工作负载的能力,更大化提高资源使用率。
[**查看文档 >>**](https://help.aliyun.com/document_detail/66565.html?spm=a2c4gY # % @ 3 2 v.11186623.6.963.385124edK0CiPU)

**3.MaxCompute 使用包年包月计算资源的Project支持指定SQL任务使用按量付费计算资源*~ o 1 N d r*
MaxCompute支持包年包月项目中的SQL使用按量计费资源,突破了独享资源的局限,从而更灵活更合理的使用包年包月资源。
**适用客户**
MaxCompute包年包月计算资w 7 D * ( p 0 p源用户
**发布功能**
My | ~ 1axCompute使用包年包月的项目支持指定SQL提交到关联的按量付费计算资源池执行。在使用此功能前,需要先开通对应区域的按量付费服务,还要评估哪些使用包年包月资源的项目有SQL任务需要指定使用按量付x [ W v k f L F r费计算资源。确认好后,通过MaxCompute 管家将包年包月的项目增加按量付费配额组,再在对应包年包月项目指定SQL作业使用按量付费资源运行,指定好后此SQL每次执行会直接提交到按量付费资c a B C U * Z w源池中执行,执行成功则按量付费= P 7 L W C
在该功能之前,同个项目同m l F个业务需求有任务需求使用按量o b m R * t / *付费资源池时,需要单独创建按量付费项目并在项目中创建任务进行执行,还需要打通项目之间的权限2 l p x S ? 8 z,跨项目任务依赖等额外的管理工作,M q w D b - X使用起来便捷性和体验都比较差,而“包年包月的项目支持指定SQL使用按量付费计算资源”功能将带来更好的使用体验从而提升工作效率。
[**查看文档 >>**](https://help.a $ m 5 i T 0 Bliyun.com/document_detail/171280.html?spm=a2c4g.11186623.6.965.2b731013H0pWNk)

**4.MaxCompute新增项目的默认数据类型版本从1.0变更为2.0**
MaxCompute通过DataWorks控j ! d L # ^ /制台新增项目时,项目的默认数据类k F { ^ u l型版本从1.0变更为2.0。
**适用客户**
MaxCX { F r ~ 3 ; r (ompute公共云用户
**发布功能**
MaxCompute通过DataWorks控制台新增项目时,项目的默认i E u z E T数据类型版本从1.0变更为2.0。该变更已于2020年7月13日到2020年7月22日陆续对中国站各个区域进行了升级,并将于2020年7月29日到2020年8月6日陆续对国际站各个区域进行升级。如果您之前创建过存量项目,新建项目时需要选择合适的数据类型版本。不同数据类型版本的项目C C m 8 D进行数据交互H I 7 x . T }时可能会引起兼容性问题。
MaxCompute有w ( ,3个数据类型版本,不同数据类型版本在定义和行为上有一定的差异。MaxCompute将数据类型相关 ! Q属性组成3个组合,分别对应1.0数据类型版本、2.0数据类型版本和Hive兼容数据类型版本。详情请参见数据类型版本说明。
[**数据类型版本说明 >>**](https://help.aliyun.com/document_detail/27821.html)
[**创建项目空间说明 >>**](https://help.aliyun.com/document_detail/27815.html)

**5.python UDF支持更多数据类型**
Python 2 UDF 和Python 3 UDp f hF 支持更多数据类型。
**适用客户**
MaxCo~ ) = nmpute公共云用户。
**发布功能**
Python 2 和Python 3 的UDF/UDTF/UDAF 新增支持 DECIMAL、数据类型2.0的DECIMAL、复杂类型ARRAY、MAP、STRUCT和复杂类型嵌套。
目前PyE l ^ + Gthon UDF 支持数据类型包括BIGINT、STRING、DOUBLE、BOOLEAN、DATETIME、DECIMAL、数据类型2.0的DECIMAL、+ x Q #复杂数据类型(ARRAY、MAP和STRUCT)和复杂数据类型嵌套。
目前Python 3 UDF 读资源r w 4 ` V表,即get_cache_table读取引用资源表的内容支持 BIGIU M L L @ !NT、STRING、DOUBLEZ R L u G、BOO4 W - b M W W )LEAN、DATETIME、DECIMAL、数据类型2.0的DECIMAL、FLOAT、CHAR、VARCHAR、BINARY、DA[ 5 8TE、ARRAY、MAP和STRUCT数据类型。
[**Python 2 UDF >>*[ S d q u - 7 8 X*](https://help.aliyun.com/document_deta( L X 7 C s hil/73359.html)
[**Python | z - R ] } c O 3 UDF >>**](https://help.aliyun.com/document_detail/154431.html)

**6.MaxCompute新增APPROX_DISTINCT等内= a G | l建聚合函数**
MaxCompute新增内建聚合函数,包括APPROX_DISTINCT、ANY_VALUE、ARG_MAX+ D 4 [ ] ^ ,、ARG_MIN等。
**适用客户**
MaxCompute公共云用户。
**发布功能*n w *
MaxComE % 7 jpute新增内建聚合函数,包括APPROX_DISTINCT、ANY_VALUE、ARG_MAX、ARG_MIN等。
APPROX_DISTINCT(value) 返回@ % N ^ !输入的非重复值的近似数目。
ANY_8 . rVALUE(value) 实现Z | F . G h在取值范围内任选一个值返回。
ARG_MAX(valueToMaximize, valueToReturn) 返回指定判断列最大值的行对应的指定返回列的值。
ARG_MIN(valueToMaxim/ : 7 ( 6 = K Rize, valueToReturn) 返回j N 3 V d m = Z P指定判断列最小值的行对应的指定返回列的值。
[**查看文档 >&gw B Kt;**](https:E : & S ;//help.aliyun.com/document_detail/48975.html)

**7.MaxCompute支持代码嵌入式UDF**
MaxCompute的代 s | ^ q & Q / V码嵌入式UDF允许在SQL脚本中直接书写java或Python代码。
**适用客户**
MaxCompute公共云用户。
**发布功能**
代码嵌入式UDF功能支持把Java或Python代码嵌入到SQL脚本@ J C [ %中,即将SQX 8 K I PL脚本和第三方代码放入同一个源码文件,减少了使用UDT或UDF的操作步骤,给日常开发和维护带来了便利。
在脚本编译的时候,编译器把嵌v v 0 + F 5 -入代码识别并提取出来,做必要的编译(Jn M a ? T |ava 代码),动态生成资源,然后结合创建临时函数(Temporary Function)的能力来注册函数L D t w。这样,您可以在一个SQL脚本中完成代码编译(Java)、添加资源、创建函数这一系列的操作。代码嵌入式UDF功能还能够解决维护人员阅读他人SQL代码时,无法查看~ 6 4 k [含有UDF的代码内部实现逻辑,甚至有些jar包找不到源码s A J 1 I b q J的问题。
[**查看文档 >>**](ht. b @ 2tps://help.aliyun.com/document_detail/175766.htW e rml)

**8.MaxComput - Te支持SQL语言定义函数**
SQL语言定义函数允许在SQL中使用SQL定义的; ) } 2 w N nUDF并调用。
**适用客户**
MaxCompute公共云用户。
**发布功能**
MaxCompute UDF支持java或者Python定义,很多时候需要实现一些比较简单的的功能,而这些功能有的可以直接通过SQL} h c来描述出来,因此MaxCompute支持SQL语言定义函数(SQL Function),避免编译(Java UDF),添加资源,创建函数等复杂操作,提高代码易读性和代码复用率。SQL Function 能够在SQL中使用SQL定义的UDF并调用。SQL Function可以接受 Function类型的参数。调用时传入的可以是内置函数、UDF 或者 Sql Functions。SQL Function 支持匿名函数,即{ % Z接受 Function类型参数的SQL Function,调用时传入匿名函数S q ] x ] Y J
SQL Function 作为一种用户自定义9 n ^ X y 函数,弥补了之前系统只能n O H [ % . 7 ` 4用Java/Python写UDF的不足。此外还扩展了; N t B [ P )Functi( ; i { N Mon Tb r D X x q jype和匿名函数等特性,让您表达业务逻辑具有了更多的灵活性。
[**查看文档 >>**](http= A C 8 0 , e ss://helpG O O C H $ %.aliyun.com/document_deH E rtail/175769.html8 a U 5 q 8 )

**MaxCompute 产品官网** https://www.aliyun.) H ] ` hcom/product/odps
**o r Y z O阅读往期月刊** https://yq.aliyun.com/publication/x h } z49
更多关于大数据计算产品技术交流y i 3 i f B,可扫码加入“MaxCompute开发者社区”钉钉群
![二维码.JPG](https://ucc.alicdn.com/pic/developer-ecology/85a8662bc36745b0bb0ddcb3953c9~ L { - 807b.jpg)