MaxCompute 2.0 上线以来很多同学都在询问如何才能获取试用资格。在这里向大家简要介绍MaxCompute 2.0发布的功能,申请方式及如何使用。
大数据计算服务(MaxCompute)
快速、完全托管的TB/PB级数据仓库解决方案,向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。
了解更多
MaxCompute 2.0发布的功能包括:
- 更快的SQL执行引擎:降低企业大数据分析成本。SQL执行效率更高。
- 非结构化数据处理能力:用户可以通过MaxCompute的SQL直接访问OSS上的数据,或访问TableStore(OTS) 数据,从而达到分析视频、音频、图像、基因、气象等特殊格式数据的目的。
- 生态兼容:向开源Hadoop MapReduce使用场景高度兼容的MaxCompute MapReduce SDK。
- 基于InteliJ的本地开发插件:方面您在本地对MaxCompute作业进行开发及调试;
- 实时数据上传功能:MaxCompute新增的DataHub模块,可以帮助您将企业数据实时上传。更多信息可参考 DataHub相关文档 。
在以上功能中,生态兼容、InteliJ开发插件以及DataHub模块目前已经向公网用户全面开放。
如果您想申请试用MaxCompute 2.0,请通过工单系统提交工单、注明project以及使用的需求场景和试用哪些MC2.0功能。同时,也可以通过扫码加入如下钉钉群,了解MaxCompute最新产品动态:
收到您的申请后,我们会尽快为你开通。在开通后,
- 如果您想使用新型执行引擎,仅需在SQL作业前添加如下"set"命令,例如:
set odps.task.major.version=2dot0_demo_flighting;
select count(*) from src;
- 如果您想使用非结构化数据处理,需要在SQL作业前加入如下命令:
set odps.task.major.version=2dot0_demo_flighting;
set odps.sql.planner.mode=lot;
set odps.sql.ddl.odps2=true;
set odps.sql.preparse.odps2=lot;
SELECT recordId, patientId, direction FROM ambulance_data_txt_external WHERE patientId > 25;
用户在开启MaxCompute 2.0后,有部分行为与1.0版本不兼容,请各位知晓:
- UNION中隐式类型转换问题。在MaxCompute 1.0 中在union两侧对应列如果类型不同时会尝试隐式类型转换,其行为是一边为string,另一边为数字或DATETIME类型时,转为另一边的类型。MaxCompute 2.0为了安全禁止此隐式类型转换,如果需要请使用CAST函数
- MaxCompute 1.0 支持 select * from group by key,即使*中覆盖的列不在group by key中也可以,MaxCompute 2.0和Hive兼容,这种写法不允许,除非group by列表是所有源表中的列。
- 按照MaxCompute文档规定,在string literal中应该用反斜线加三位8进制数字表示从0到127的ASCII字符,例如应该使用\001, \002表示0, 1等。但目前\01,\0001也被当作\001处理了,MaxCompute 2.0会修正此问题
- 在写JOIN条件的时候,有可能等号的左右两边分别是STRING类型和DOUBLE类型。这种情况MaxCompute 1.0版本两边都转成bigint,新版本与Hive兼容转为double。
- 在MaxCompute 1.0版本中(set odps.sql.planner.mode=lot或者hybrid),允许在order by, cluster by, distribute by, sort by中引用select列表中不存在的列,MaxCompute 2.0与Hive兼容,不允许此种用法。
- 表达式中,case的表达式和when中的条件如果类型不同, MaxCompute 2.0模式暂不支持,用户可使用cast函数明确需要的类型。
- MaxCompute 1.0 允许用户写不带任何参数的COUNT函数,如 SELECT COUNT() FROM t; MaxCompute 2.0和Hive兼容不支持。
时间: 2024-09-28 23:40:39