快速玩轉DLI SDK

      網友投稿 794 2025-03-31

      數據湖探索軟件開發工具包(Data Lake Insight Software Development Kit,簡稱DLI SDK)對DLI提供的REST API進行封裝,客戶能夠通過SDK快速簡便的開發自己的應用,省去了自行封裝API的麻煩,很大程度上提高了用戶開發效率和減少了開發難度,用戶能夠使用簡單的調用實現一整套業務邏輯,接下來介紹一下如何快速玩轉DLI JAVA SDK。


      環境準備:1.JAVA開發運行環境JDK,從Oracle官網下載并安裝JDK,配置好JAVA環境變量,推薦1.8版本;2.操作系統可選linux或者windows;3.開發工具可使用IDEA或者Eclipse.下面主要介紹使用IDEA工具進行SDK開發。

      IDEA先建一個JAVA工程,需要導入DLI SDK依賴包,DLI依賴包在官網(https://uquery-sdk.obs-website.cn-north-1.myhwclouds.com)可以下載,把上述下載的依賴包解壓之后獲取huaweicloud-dli-sdk-java-{版本號}-jar-with-dependencies.jar包通過IDEA菜單依次點擊File -> Project Structure->Modules->Dependencies進行導入,成功導入之后,我們就可以著手寫第一個DLI SDK DEMO了。

      DLI SDK有兩種認證方式:1.通過AKSK方式,AKSK可以在華為云console頁面我的憑證>訪問秘鑰中獲取 2.使用token認證,需要填寫用戶的賬號名(domain name),用戶名(user name)和密碼,相關信息在我的憑證>API憑證中獲取。認證信息初始化分別可以使用以下代碼:

      //AKSK認證 DLIInfo?info?=?new?DLIInfo(regionName,?ak,?sk,?projectId); DLIClient?dliClient?=?new?DLIClient(AuthenticationMode.AKSK,?info); //TOKEN認證 DLIInfo?info?=?new?DLIInfo(regionName,?doaminName,?userName,?password,?projectId); DLIClient?dliClient?=?new?DLIClient(AuthenticationMode.TOKEN,?info);

      認證流程過后,我們可以調用相關接口去獲取當前一些表的信息,比如客戶想獲取某個db1下的某張表tb1元數據信息,就可以通過如下實現方式:

      public static void main( String[] args ) throws DLIException

      {

      DLIInfo info = new DLIInfo(regionName, ak, sk, projectId);

      DLIClient dliClient = new DLIClient(AuthenticationMode.TOKEN, info);

      TableSchema tableInfo =? dliClient.getDatabase(db1).getTable(tb1).getTableDetail();

      tableInfo.getColumn().forEach( column -> {

      System.out.println("列名為:" + column.getColumnName());

      System.out.println("列類型為" + column.getType());

      });

      }

      通過tableSchema,我們能夠拿到表的列表和類型,也可以獲取到分區列和列描述信息等。

      大部分客戶通過DLI SDK進行提交作業完成業務對接,對于DDL相關作業,我們可以通過SDK直接提交并同步獲取作業結果,比如我們如果要實現truncate table邏輯,我們就可以初始化一個DLI JOB,進行SQL作業同步提交,等待執行結果。對于一些異步作業,比如upload接口,需要處理的時間較長,我們需要循環判斷作業運行是否完畢,代碼如下所示。

      快速玩轉DLI SDK

      //?同步作業提交(truncate?table) String?truncateSql?=?"truncate?table?"?+?table; SQLJob?sqlJob?=?new?SQLJob(dliClient.getQueue(queueName),?database,?truncateSql); sqlJob.submit(); if?(sqlJob.getStatus().equals(JobStatus.FINISHED))?{ ?System.out.println(“作業執行成功”} } //異步作業提交(數據通過upload接口導入DLI) UploadJob?uploadJob?=?new?UploadJob(dliClient.getQueue(queueName),?database,?table); Writer?writer?=?uploadJob.createWriter(); Row?row?=?uploadJob.newRow(); //?設置數據 row.setInt(0,?1); row.setString(1,”test”); writer.write(row); writer.flush(); uploadJob.beginCommit(); //?等待作業結束 while?(!(uploadJob.getCommitStatus().getName().equalsIgnoreCase(JobStatus.FAILED.getName()) ????????||?uploadJob.getCommitStatus().getName().equalsIgnoreCase(JobStatus.FINISHED.getName())))?{ ????sleep(1000); } writer.close();

      如果想進一步了解DLI SDK的更多的使用方法,可以繼續瀏覽官方指導文檔(https://support.huaweicloud.com/sdkreference-dli/dli_04_0008.html)。

      數據湖探索 DLI

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel設置關鍵字排序方法介紹
      下一篇:怎么做業務日報表表格(工作日報表怎么做表格
      相關文章
      亚洲伊人久久大香线蕉影院| 亚洲heyzo专区无码综合| 亚洲精品国产首次亮相 | 久久久久久亚洲AV无码专区| 亚洲综合色婷婷七月丁香| 亚洲av无码专区在线观看亚| 亚洲乱码日产精品一二三| 亚洲中文无码卡通动漫野外| 国产精品亚洲综合五月天| 亚洲日产2021三区在线| 亚洲黄色中文字幕| 亚洲精品国产第1页| 亚洲福利视频网站| 亚洲一区二区三区在线观看蜜桃| 亚洲国产日产无码精品| 亚洲乱码中文论理电影| 亚洲Av无码一区二区二三区| 亚洲AV无码精品蜜桃| 亚洲AV成人噜噜无码网站| 456亚洲人成影院在线观| 亚洲熟女综合色一区二区三区| 亚洲日韩精品无码专区| 亚洲av第一网站久章草| 国产精品手机在线亚洲| 亚洲国产高清精品线久久| 亚洲人成网站色在线入口| 亚洲AV无码第一区二区三区| 亚洲av日韩av无码黑人| 中文字幕亚洲免费无线观看日本| 亚洲精品亚洲人成在线麻豆| 亚洲免费闲人蜜桃| 亚洲天然素人无码专区| 国产亚洲精彩视频| 国产亚洲成人在线播放va| 亚洲欧美日韩自偷自拍| 在线91精品亚洲网站精品成人| 久久精品国产亚洲7777| 亚洲av无码一区二区三区网站 | 亚洲国产精品福利片在线观看| 亚洲色图国产精品| 亚洲一区二区三区精品视频|