数据湖探索 DLI-使用SDK提交SQL作业:查询作业结果

时间:2025-06-11 15:15:00

查询作业结果

  • 相关链接

    SELECT查询语句

    作业参数设置

  • 关键SDK API:

    com.huawei.dli.sdk.read.ResultSet,纯OBS读数据相关API调用,DLI提供了一个默认 OBS csv reader实现,可依据业务需求自定义实现。具体操作参考OBS API参考

    com.huawei.dli.sdk.SQLJob#submitQuery(),需要开启结果写作业桶特性,否则默认只预览前1000条数据。

    您可以通过查询作业状态API响应体中的 result_path 来判断是否已开启作业结果写作业桶特性。

    待作业运行结束后,如果result_path 以 obs:// 开头,则已开启作业结果写作业桶特性,否则未开启。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
        private static String queryData(DLIInfo dliInfo, String selectSql)
            throws DLIException {
            SQLJob sqlJob = new SQLJob(dliInfo, selectSql);
            // 如有需要,您可在此处设置作业参数,比如:sqlJob.setConf()
            // 1. 提交查询作业到DLI,使用DLI封装实现提交并等待结果
            // 1:此处需要根据SQL执行时长预取设置超时时间,默认5min
            // 2:此处需要开启作业结果写作业桶特性,否则默认只预览前1000条数据。
            sqlJob.setJobTimeout(30 * 60);
            ResultSet resultSet1 = null;
            try {
                resultSet1 = sqlJob.submitQuery();
                handleResult(resultSet1);
            } finally {
                if (resultSet1 != null) {
                    resultSet1.close();
                }
            }
            return sqlJob.getJobId();
        }
    

support.huaweicloud.com/sdkreference-dli/dli_04_0084.html