本文为您介绍如何在MaxCompute Studio上开发SQL脚本。包括编写和运行SQL脚本。
前提条件
已连接MaxCompute项目,详情请参见管理项目连接。
已创建MaxCompute Script Module,详情请参见创建MaxCompute Script Module。
创建SQL脚本文件
在Project区域下,右键单击scripts,选择 。
在New MaxCompute SQL Script对话框,配置参数信息,单击OK。
Script Name:脚本名称。
MaxCompute Project:目标MaxCompute项目。单击+即可新建一个MaxCompute项目连接,配置详情请参见管理项目连接。
在脚本编辑界面中编写SQL。SQL语法详情请参见SQL概述。
以下为一个脚本代码示例。
create table table_5( col1 bigint, col2 bigint, col3 bigint, ds datetime ); insert into table table_5 values(1,2,3,DATETIME'2017-11-11 00:00:00'); select * from table_5 where ds='${bizdate}';
说明脚本模式支持跨项目空间资源依赖。例如,脚本绑定了项目A的同时,允许访问项目B下的table1(ProjectB.table1)。
MaxCompute Studio支持设置SQL脚本编辑器,详情请参见概述。
提交SQL脚本
在提交SQL脚本前您需要根据自身需求进行相关设置。MaxCompute Studio提供了丰富的设置功能,您可以在编辑器页面上方的工具栏中快速设置。设置主要分为以下三种:
编辑器模式:
单句模式:会将提交的脚本文件按
;
分隔,逐条提交到MaxCompute服务端执行。脚本模式:为最新开发模式,可将整条脚本一次提交到MaxCompute服务端,由MaxCompute服务端提供整体优化,效率更高,推荐使用此模式。
类型系统:类型系统主要解决SQL语句的兼容性问题。分为以下三种类型:
旧有类型系统:MaxCompute旧类型的系统。
MaxCompute类型系统:MaxCompute 2.0引入的新类型系统。
Hive类型系统:MaxCompute 2.0引入的Hive兼容模式下的类型系统。
执行模式:
默认:稳定版本。
查询加速:包含查询加速(MCQA)新特性。
加速失败重跑:支持作业在查询加速失败时,重新执行作业。
完成SQL脚本编写后,单击工具栏或侧边栏上的图标,即可将SQL脚本提交到MaxCompute服务端运行。
说明当SQL中存在变量时,例如上述脚本代码示例中的${bizdate},会弹出对话框,提示您输入变量值,在本示例中您可以输入
2017-11-11 00:00:00
,查询当前分区的表格数据。在SQL任务运行前,IntelliJ IDEA会向您提示预估的SQL费用。确认费用后,在Confirmation对话框,单击OK。
说明在工具栏上,单击图标,可以更新SQL脚本中使用的元数据,例如表、UDF。如果MaxCompute服务端存在表或函数,但MaxCompute Studio提示表和函数不存在时,请尝试使用该功能更新元数据。
SQL依赖于您在Project Explorer窗口中添加的项目元数据,系统先在本地进行编译,无编译错误后会提交到服务端执行。
SQL执行过程中会显示运行日志。当SQL开始在MaxCompute服务端运行时,会自动打开任务详情页签,显示运行作业的基本信息。
显示预估SQL费用依赖在MaxCompute SQL配置选项勾选Show sql cost confirm dialog when script submitted
在控制台结果页签查看SQL运行结果。
单句模式下存在多条语句时,系统会显示每条语句的运行结果。