开发及提交SQL脚本

本文为您介绍如何在MaxCompute Studio上开发SQL脚本。包括编写和运行SQL脚本。

前提条件

创建SQL脚本文件

  1. Project区域下,右键单击scripts,选择New > MaxCompute SQL脚本

    创建

  2. New MaxCompute SQL Script对话框,配置参数信息,单击OK

    脚本名称

    • Script Name:脚本名称。

    • MaxCompute Project:目标MaxCompute项目。单击+即可新建一个MaxCompute项目连接,配置详情请参见管理项目连接

  3. 在脚本编辑界面中编写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)新特性。

    • 加速失败重跑:支持作业在查询加速失败时,重新执行作业。

  1. 完成SQL脚本编写后,单击工具栏或侧边栏上的运行图标,即可将SQL脚本提交到MaxCompute服务端运行。

    说明

    当SQL中存在变量时,例如上述脚本代码示例中的${bizdate},会弹出对话框,提示您输入变量值,在本示例中您可以输入2017-11-11 00:00:00,查询当前分区的表格数据。

  2. 在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

  3. 在控制台结果页签查看SQL运行结果。

    单句模式下存在多条语句时,系统会显示每条语句的运行结果。

    运行结果