更新时间:2022-02-24 GMT+08:00

开发SQL脚本

对SQL脚本进行在线开发、调试和执行,开发完成的脚本也可以在作业中执行(请参见开发作业)。

前提条件

  • 已开通相应的云服务并在云服务中创建数据库。例如,开发DLI的脚本前,请确保DLI服务已开通,并在DLI服务中创建好数据库。Flink SQL脚本不涉及。
  • 已在数据开发模块中创建与脚本的数据连接类型匹配的数据连接,请参见创建数据连接。Flink SQL脚本不涉及。
  • 已新增SQL脚本,请参见新建脚本

操作步骤

  1. 登录DLF管理控制台。
  2. 数据开发模块控制台的左侧导航栏,选择数据开发 > 脚本开发
  3. 在脚本目录中,双击脚本名称,进入脚本开发页面。
  4. 在编辑器上方,选择如表1所示的属性。Flink SQL脚本不涉及,请跳过该步骤。

    表1 SQL脚本属性

    属性

    说明

    数据连接

    选择数据连接。

    资源队列

    选择执行DLI作业的资源队列。当脚本为DLI SQL时,配置该参数。

    如需新建资源队列,请参考以下方法:
    • 单击,进入DLI“队列管理”页面新建资源队列。
    • 前往DLI管理控制台进行新建。

    如需以“key/value”的形式设置提交SQL作业的属性,请单击。最多可设置10个属性,属性说明如下:

    • dli.sql.autoBroadcastJoinThreshold(自动使用BroadcastJoin的数据量阈值)
    • dli.sql.shuffle.partitions(指定Shuffle过程中Partition的个数)
    • dli.sql.cbo.enabled(是否打开CBO优化策略)
    • dli.sql.cbo.joinReorder.enabled(开启CBO优化时,是否允许重新调整join的顺序)
    • dli.sql.multiLevelDir.enabled(OBS表的指定目录或OBS表分区表的分区目录下有子目录时,是否查询子目录的内容;默认不查询)
    • dli.sql.dynamicPartitionOverwrite.enabled(在动态分区模式时,只会重写查询中的数据涉及的分区,未涉及的分区不删除)

    数据库

    选择数据库。

    显示数据库中已有的数据表,您也可以输入数据表名称,单击进行查询。

  5. 在编辑器中输入SQL语句(支持输入多条SQL语句),如需单独执行某部分SQL语句,请选中SQL语句再运行。为了方便脚本开发,数据开发模块提供了系统函数和脚本参数功能(Flink SQL和RDS SQL脚本除外)。

    SQL语句之间以“;”分隔。如果其它地方使用“;”,请通过“\”进行转义。例如:

    select 1;
    select * from a where b="dsfa\;";  --example 1\;example 2.
    • 系统函数

      单击编辑器右侧的“系统函数”,显示该数据连接类型支持的函数,您可以双击函数到编辑器中使用。

    • 脚本参数

      在SQL语句中直接写入脚本参数,调试脚本时可以在脚本编辑器下方输入参数值。如果脚本被作业引用,在作业开发页面可以配置参数值,参数值支持使用EL表达式(参见表达式概述)。

      脚本示例如下:

      select ${str1} from data;

      其中,str1是参数名称,只支持英文字母、数字、-、_、<和>,最大长度为16字符,且参数名称不允许重名。

  6. (可选)在编辑器上方,单击“格式化”,格式化SQL语句。Flink SQL脚本不涉及,请跳过该步骤。
  7. 在编辑器上方,单击“运行”。SQL语句运行完成后,在编辑器下方可以查看脚本的执行历史、执行结果。Flink SQL脚本不涉及,请跳过该步骤。

    用户可根据需求下载或转储执行结果,仅支持具有拥有DAYU Administrator或Tenant Administrator权限的用户下载和转储。参考如下:

    • 下载结果:下载CSV格式的结果文件到本地。
    • 转储结果:转储CSV格式的结果文件到OBS中,请参见表2
      表2 转储结果

      参数

      是否必选

      说明

      数据格式

      目前仅支持导出CSV格式的结果文件。

      资源队列

      选择执行导出操作的DLI队列。当脚本为DLI SQL时,配置该参数。

      压缩格式

      选择压缩格式。当脚本为DLI SQL时,配置该参数。

      • none
      • bzip2
      • deflate
      • gzip

      存储路径

      设置结果文件的OBS存储路径。选择OBS路径后,您需要在选择的路径后方自定义一个文件夹名称,系统将在OBS路径下创建文件夹,用于存放结果文件。

      覆盖类型

      如果“存储路径”中,您自定义的文件夹在OBS路径中已存在,选择覆盖类型。当脚本为DLI SQL时,配置该参数。

      • 覆盖:删除OBS路径中已有的重名文件夹,重新创建自定义的文件夹。
      • 存在即报错:系统返回错误信息,退出导出操作。

  8. 在编辑器上方,单击,保存脚本。

    如果脚本是新建且未保存过的,请配置如表3所示的参数。
    表3 保存脚本

    参数

    是否必选

    说明

    脚本名称

    脚本的名称,只能包含五种字符:英文字母、数字、中文、中划线、下划线和点号,且长度小于等于128个字符。

    描述

    脚本的描述信息。

    选择目录

    选择脚本所属的目录,默认为根目录。