更新时间:2026-08-21 GMT+08:00
分享

配置作业结果保存桶

操作场景

DLI支持将SQL作业的查询结果保存至DLI作业桶,便于持久化存储和管理作业查询结果。

约束与限制

  • 一旦开启作业结果保存策略,将无法关闭,作业结果将始终保存至用户设置的DLI作业桶。
  • 对于2024年5月之前开通并使用DLI服务的用户,需提交工单申请开通“查询结果写入桶”功能。

    2024年5月起,新用户可直接使用,无需申请。

  • 仅Spark SQL队列支持设置该参数。
  • 开启作业结果保存桶后,请务必确保已经配置DLI作业桶信息。配置DLI作业桶操作请参考步骤一:配置DLI作业桶

    如需判断当前是否已开启SQL作业结果保存DLI作业桶请参考怎样查看SQL队列是否已开启作业结果保存至DLI作业桶

步骤一:配置DLI作业桶

关于配置DLI作业桶的更多约束限制请参考配置DLI作业桶

  1. 登录DLI管理控制台
  2. 在左侧导航栏,单击“全局配置 > 工程配置”。
  3. 在“工程配置”页面,选择“DLI作业桶”,单击配置桶信息。
    图1 工程配置
  4. 单击打开桶列表。
  5. 选择用于存放DLI作业临时数据的桶,并单击“确定”。
    完成设置后DLI作业运行过程中产生的临时数据将会存储在该OBS桶中。
    图2 设置DLI作业桶

步骤二:开启队列作业结果保存策略

  1. 登录DLI管理控制台
  2. 在左侧导航栏,单击资源管理 > 队列管理
  3. 在对应队列的“操作”列,选择“更多 > 属性设置”。
  4. 进入队列属性设置页面,设置对应的属性值。属性值相关参数说明请参考表2
    表1 队列属性

    属性类型

    属性名称

    API参数名称

    说明

    作业结果保存策略

    结果保存策略设置

    job.saveJobResultToJobBucket

    设置是否开启队列的作业结果保存至DLI作业桶。

    仅Spark SQL队列支持设置该参数。

  5. 单击“确定”完成队列属性的设置。

怎样查看SQL队列是否已开启作业结果保存至DLI作业桶

  • 方法1:在SQL作业详情页面查看结果路径
    1. 登录DLI管理控制台
    2. 在左侧导航栏,单击“作业管理 > SQL作业”。
    3. 单击查看SQL作业详情。
    4. 查看作业详情中的“结果路径”:
      • 如果结果路径显示为用户自定义的DLI作业桶,则说明该作业所在的队列开启了作业结果保存至作业桶。
      • 如果作业详情中不显示“结果路径”,则说明作业所在的队列未开启作业结果保存至作业桶。
  • 方法2:查看SQL队列属性中是否开启作业结果保存至作业桶
    1. 登录DLI管理控制台
    2. 在左侧导航栏,单击资源管理 > 队列管理
    3. 在对应队列的“操作”列,选择“更多 > 属性设置”。
    4. 进入队列属性设置页面,查看“开启作业结果保存至作业桶”的配置情况。

关于JDBC连接DLI提交SQL作业与作业桶相关配置说明

使用JDBC连接DLI提交SQL作业时,作业结果返回限制如表2所示。更多使用JDBC连接DLI并提交SQL作业的操作方法请参考使用JDBC提交SQL作业
表2 作业结果返回限制

JDBC版本

结果返回限制

说明

dli-jdbc-1.X

无限制(通过directfetchthreshold参数控制,默认1000)。

可通过调整directfetchthreshold参数设置作业结果返回限制。

dli-jdbc-2.X(2024年5月前开通的用户)

查询结果最多返回1000条。

关于“查询结果写入桶”功能,当前部分用户处于受限使用阶段,如需使用请提交工单申请开通。

开通后参考本节操作配置作业结果保存桶,从作业桶中查询超过1000条的数据。

dli-jdbc-2.X(2024年5月起的用户)

无限制

新用户可以直接使用DLI服务的“查询结果写入桶”功能,无需申请。

相关文档