本文为您介绍如何在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概述
    说明
    • 支持跨项目空间资源依赖。例如,脚本绑定了项目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服务端运行。
    代码示例如下。
    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}`;
    说明 当SQL中存在变量时,例如示例中的${bizdate},会弹出对话框,提示您输入变量值。
  2. 在SQL任务运行前,IntelliJ IDEA会向您提示预估的SQL费用。确认费用后,在Confirmation对话框,单击OK
    确认费用
    说明
    • 在工具栏上,单击刷新图标,可以更新SQL脚本中使用的元数据,例如表、UDF。如果MaxCompute服务端存在表或函数,但MaxCompute Studio提示表和函数不存在时,请尝试使用该功能更新元数据。
    • SQL依赖于您在Project Explore窗口中添加的项目元数据,系统先在本地进行编译,无编译错误后会提交到服务端执行。
    • SQL执行过程中会显示运行日志。当SQL开始在MaxCompute服务端运行时,会自动打开任务详情页签,显示运行作业的基本信息。
    • 显示预估SQL费用依赖在MaxCompute SQL配置选项勾选Show sql cost confirm dialog when script submitted
  3. 在控制台结果页签查看SQL运行结果。

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

    运行结果