本文为您提供关于MaxCompute使用功能的各项更新记录。
2021年1月13日-MaxCompute管家发布全量作业管理和权限管理
- 作业管理
MaxCompute管家推出作业管理功能,支持开发人员和管理人员对全量作业按照时间段、状态以及更多细粒度条件查找作业并进行相应管理。
您可以通过MaxCompute管家提供的作业管理功能,按照作业提交时间段、作业状态、项目、配额组、Instance ID及提交人等精准条件查找作业,查看作业基础信息以及对应Logview。同时,MaxCompute管家提供终止处于运行状态作业的功能。所查找的作业为全量作业,即所有状态作业,显示的作业状态为终态。
通过作业管理:- 数据开发人员对自己提交或管理的作业进行日常运维时,可以方便地通过各种过滤条件搜索,可以按照时间段、跨项目查看作业列表。如果需要检查当天哪些作业失败并进行处理,可以直接通过时间段和状态筛选作业,方便查看作业基础信息、Logview。同时可以终止处于正在运行状态的作业,提升作业日常运维效率。
- 管理人员可以查看过去或当前作业整体资源负载情况,也可以查看各时间段作业运行情况以便更好地规划资源,同时在做审计时可以快速查看某个作业信息。
- 权限管理
MaxCompute管家支持对RAM用户进行权限管理,以便支持RAM用户进行资源配额组和作业管理。
MaxCompute管家按日常管理业务划分几种角色和权限:- 超级管理员:支持查看并操作MaxCompute管家界面的所有对象。
- 项目管理员:支持查看MaxCompute管家界面的所有对象,但只能终止对应项目正在运行的作业。
- 配额组管理员:支持查看MaxCompute管家界面的所有对象,但只能终止对应配额组正在运行的作业。
- 访客:默认所有RAM用户可以访问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功能详情请参见概述。
Streaming Tunnel计费详情请参见流式数据写入费用(按量计费)。
2020年12月5日-MaxCompute数据分析查询编辑器支持查询加速
MaxCompute数据分析查询模式原先进行数据查询时,采用离线查询模式,本次发布查询模式支持MaxCompute查询加速,对于中、小数据量查询作业将执行时间从分钟级缩减至秒级,即查速度提升至秒级。通过MaxCompute查询编辑器发起查询SQL后,系统会优先通过查询加速进行查询,如果满足查询加速条件,则秒级返回结果;否则会回退为离线查询,保障查询作业正常执行。结合数据分析的丰富的Web-Excel分析功能,数据分析师可以通过MaxCompute数据分析一站式快速进行数据查询、结果二次分析及分享。
MaxCompute查询加速功能当前主要支持按量计费资源,若项目使用包年包月资源,暂时无法满足查询加速。
查询编辑器详情请参见查询编辑器。
查询加速详情请参见查询加速。
2020年11月24日-MaxCompute部分日期函数的输入参数校验行为变更
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 | +------------+
- 升级前:DATE日期转换函数对输入的字符串检查不够严格,可以有非日期格式的字符作为输入参数。例如,执行如下查询语句:
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 | +------------+
- 升级前:TO_DATE函数对输入的字符串检查不够严格,可以有非日期格式的字符作为输入参数。例如,执行如下查询语句:
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 | +------------+
- 升级前:TIMESTAMP时间转换函数对输入的字符串检查不够严格,可以有非日期格式的字符作为输入参数。例如,执行如下查询语句:
2020年10月12日-查询加速(MCQA)功能商业化
自2020年10月12日起,查询加速(MCQA)功能结束免费公测。MaxCompute将对使用查询加速(MCQA)功能执行的查询作业按量计费。如果您购买的是包年包月规格,暂不支持使用查询加速(MCQA)功能,后续支持情况请及时关注公告通知。
一次MCQA作业费用=输入数据量×SQL复杂度×单价(0.3元/GB)
详情请参见查询加速(MCQA)。
2020年9月30日-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)作业按量计费。
Mars作业当日计算费用=当日总计算时×单价(0.66元/计算时)
数据科学(Mars)服务详情请参见数据科学(Mars)。计费详情请参见计算费用(按量计费)。
2020年7月30日-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编码格式解码。 -- 升级后返回“王”。\xCD\xF5是“王”的GBK编码。 SELECT URL_DECODE("%E7%8E%8B", "gbk"); -- 升级前返回“王”。%E7%8E%8B是“王”的UTF-8编码。填写的编码参数GBK不生效,仍然使用UTF-8编码格式解码。 -- 升级后返回NULL。\xE7\x8E\x8B不是合法的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详情请参见Python 2 UDF和Python 3 UDF。
2020年7月24日-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脚本中使用SQL定义的UDF,并调用UDF。
- 支持函数类型的参数,调用时可以传入内建函数、UDF或SQL语言定义函数。
- 函数类型的参数可以为匿名函数,调用时可以传入匿名函数。
2020年7月23日-MaxCompute的包年包月项目支持对指定SQL作业使用按量计费资源
使用MaxCompute进行数据开发时,您通常需要按照业务需求选择包年包月或者按量计费资源,不同计费模式的资源具有不同的优劣。包年包月资源为独享资源;按量计费资源为公共资源,按照需要弹性使用。某些情况下,会同时使用包年包月和按量计费的计算资源,对于资源需求量极高且优先级要求也很高的作业,包年包月资源远远不足,您需要使用按量计费资源来满足需求。
从2020年7月23日开始,MaxCompute升级MaxCompute管家后,MaxCompute的包年包月项目支持对指定SQL作业使用按量计费资源。您可以通过MaxCompute管家对使用包年包月的项目增加按量计费配额,即可以指定SQL作业使用按量计费资源,详情请参见包年包月项目使用按量计费资源。
2020年7月23日-MaxCompute管家升级
- 支持对包年包月项目的配额组设置分时时间段。
您可以通过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日陆续对中国站各个区域进行升级。如果您之前创建过存量项目,新建项目时需要选择合适的数据类型版本。不同数据类型版本的项目进行数据交互时可能会引起兼容性问题。
2020年5月13日-新增项目支持选择数据类型版本功能上线
MaxCompute新增项目初始化数据类型版本的功能将于2020年5月13日到2020年6月30日陆续对中国站各个区域进行升级。升级完成后,您在创建新项目时,将需要选择初始化数据类型版本。
2020年4月21日-MaxCompute权限新功能
- 支持将Label授权给角色(Role)。详情请参见列级别访问控制。
- Policy支持GRANT方式授权。详情请参见Policy和Download权限控制。
- 支持Download权限控制。详情请参见Policy和Download权限控制。
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年3月16日-新增内置函数和Load命令
2020年3月15日-Instance Tunnel公网下载开始收费
- 通过公网执行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:恢复表的生命周期功能。
- 表及其分区重新参与生命周期回收,默认使用当前表及分区上的生命周期配置。
- 恢复表生命周期前可以修改表及分区的生命周期配置,防止开启表生命周期后因使用之前的配置导致数据被误回收。
- TABLE DISABLE LIFECYCLE:禁止表的生命周期功能。
- 支持Clone Table,具体使用请参见CLONE TABLE。
MaxCompute SQL提供CLONE TABLE复制表数据到另一个表中,语法如下。
CLONE TABLE <[src_project_name.]src_table_name> [PARTITION(spec), ...] TO <[dest_project_name.]desc_table_name> [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语法,详情请参见外部表分区自动补全(MSCK REPAIR TABLE)。
- 支持新内置函数。
- TABLE_EXISTS,查询指定表是否存在。
- PARTITION_EXISTS,查询指定表分区是否存在。
- 支持Python 3。
Python 2官方即将停止维护,越来越多的第三方库也开始只支持Python 3,因此MaxCompute也将正式支持Python 3 UDF。
- 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
- Get_Idcard_Age函数规则中”如果当前年份减去出生年份差值大于100则返回NULL“,升级为“返回年份减去出生年份差值”,即不存在大于100则返回NULL的情况。例如,
- 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"
。
- 升级前,在查询运行时CONCAT_WS函数没有打开Hive兼容并且有3个及以上参数,其中有一个参数是ARRAY类型时,参数中的
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日-包年包月非预留资源上线
- 该类型资源可和现有的标准计算资源、套餐资源同时购买,具体规格说明请参见包年包月非预留计算资源。
- 当前仅有部分区域可购买非预留资源(可购买区域会在购买页说明):
- 可购买的区域,在标准、套餐两种规格下非预留计算资源为非必买资源,如果要购买则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总消费告警
- 统计的金额仅对计量信息按计费公式统计,不含折扣等。
- 按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);
- 支持hive.orderby.position.alias以及hive.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,输出字段中公共字段只出现一次,举例如下。
详细请参见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;
- 支持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)
。
详细请参见运算符。
- 支持IS DISTINCT FROM语法结构:
- 分区合并
MaxCompute有分区数量上限6万的限制,当分区数量过多时,可使用合并分区功能,对数仓数据进行归档,降低分区数量。合并分区功能会将同一个表下多个分区数据快速合并成一个分区,并删除之前分区,把数据移动到指定的分区下。语法格式如下,详细内容请参见分区和列操作。
ALTER TABLE <tableName> MERGE [IF EXISTS] PARTITION(<predicate>) [, PARTITION(<predicate2>) ...] OVERWRITE PARTITION(<fullPartitionSpec>) ;
- 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存储降价
- 将原来的5个阶梯价调成3个阶梯价,减少存储计费复杂度。
- 将新阶梯单价调低,最终达到降价目的。
存储量 | 阶梯单价 | 固定价 |
---|---|---|
大于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/天 | 不涉及 |
存储量 | 阶梯单价 | 固定价 |
---|---|---|
大于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以项目空间为基本单位计算您当天的存储平均值,因此数据越集中存放在某个项目空间中,存储费用会越低。
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)。
- 在编写UDF的时候,UDF类上加入Annotation。
- 支持
show create table
命令类似Hive中的
show create table
的语法,可以直接查看建表语句便于移植。详情请参见表操作。
2019年5月8日-包年包月套餐发布
- 存储密集型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,具体使用方法请参见交集、并集和补集。
- 通过外表读取OSS上的ORC和Parquet格式的文件时,支持对文件的列裁剪,有效减少IO量,节省计算资源和成本。
- Java UDX类型系统增强:UDF支持Writable参数,具体使用方法请参见Java UDF。
- 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价格为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。
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功能发布
- 不支持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,详情请参见MaxCompute 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语句子查询中的Scalar Subquery部分。
2018年9月26日-元数据仓库组件优化
为了提升您的MaxCompute使用性能,系统即将对元数据仓库组件进行优化,届时您会提前收到以下信息:
尊敬的阿里云用户您好,大数据计算服务MaxCompute为向您提供更好的产品性能和稳定性,将于北京时间2018年9月26日16:00~20:00对底层元数据仓库组件进行优化,您的应用可能出现1分钟左右任务无法提交、运行中任务失败的情况。极端情况下,应用不可用时间将延长至30分钟。请您尽量避免在迁移窗口提交作业。感谢您的理解和支持!谢谢。有任何问题,可随时通过企业钉钉群或工单联系反馈。
2018年-MaxCompute例行优化
为了提升您的MaxCompute使用性能,系统每个月将会对文件数占用较多的Project进行小文件合并,届时您将会提前收到以下信息:
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
的详细说明请参见:其它操作。
- 某些隐式类型转换会被禁用,包括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的包年包月实例开始支持自动续费,可在阿里云控制台的续费管理中心操作。
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呢?
- 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。建议您通过以下方式进行迁移。
2017年8月16日-MR开启计费
MR任务当日计算费用=当日总计算时×0.46元(人民币)
一个MR任务一次执行成功的计算时=任务运行时间(小时)*任务调用的core数量。
如一个MR任务一次执行成功是调用了100 core并花费0.5小时,那么本次执行计算时为:0.5 小时×100 core=50个计算时。
详情请参见计算费用(包年包月)。
2017年7月-开始分批升级MaxCompute2.0
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产品的支持。
在文档使用中是否遇到以下问题
更多建议
匿名提交