微吼云上線多路互動直播服務 加速多場景互動直播落地
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接口,需要處理的時間較長,我們需要循環判斷作業運行是否完畢,代碼如下所示。
//?同步作業提交(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小時內刪除侵權內容。