磚Java SDK<一個類="headerlink" href="//m.eheci.com/docs/dev-tools/#databricks-sdk-for-java" title="">
實驗
Java是一個磚SDK<一個類="reference internal" href="//m.eheci.com/docs/release-notes/release-types.html">實驗狀態。提供反饋,問問題,和報告問題,使用<一個類="reference external" href="https://github.com/databricks/databricks-sdk-java/issues">問題選項卡在GitHub磚SDK為Java庫。
在實驗期間,磚正積極致力於穩定的磚SDK的Java的接口。API為所有客戶服務從規範文件同步生成的主要平台。Beplay体育安卓版本你是高度鼓勵的磚SDK安裝一個特定版本的Python包和閱讀<一個類="reference external" href="https://github.com/databricks/databricks-sdk-java/blob/main/CHANGELOG.md">更新日誌在磚文件的更改。磚可能小<一個類="reference external" href="https://github.com/databricks/databricks-sdk-java/blob/main/CHANGELOG.md">記錄向後不兼容的更改,如重命名方法或類名帶來更多的一致性。
在本文中,您將了解如何在磚自動化業務賬戶、工作區和相關資源<一個類="reference external" href="https://github.com/databricks/databricks-sdk-java">磚Java SDK。
在你開始之前<一個類="headerlink" href="//m.eheci.com/docs/dev-tools/#before-you-begin" title="">
在你開始使用磚為Java SDK,您的開發機必須有:
磚<一個類="reference internal" href="//m.eheci.com/docs/dev-tools/#authentication">身份驗證配置。
一個Java開發工具包(JDK)兼容Java 8或更高。持續集成(CI)測試Java兼容Java的磚SDK版本8、11、17、20。
那樣的集成開發環境(IDE)。磚建議<一個類="reference external" href="https://www.jetbrains.com/idea">IntelliJ IDEA。
開始使用Java的磚SDK<一個類="headerlink" href="//m.eheci.com/docs/dev-tools/#get-started-with-the-databricks-sdk-for-java" title="">
在你的項目的pom.xml文件,指導您的構建係統,依賴於磚為Java SDK。為此,添加以下<依賴>到pom.xml文件的現有< >的依賴關係部分。如果< >的依賴關係節中不存在pom.xml文件,您必須添加< >的依賴關係父元素的pom.xml文件。例如,打開您的項目pom.xml文件在IntelliJ IDEA,單擊項目視圖>工具窗口>,然後雙擊打開<您的項目名> > src > pom.xml。
< >的依賴關係<依賴>< groupId >com.databricks< / groupId >< artifactId >databricks-sdk-java< / artifactId ><版本>0.0.1> < /版本< / >的依賴< / >的依賴關係
請注意
一定要更換0.0.1最新版本的磚為Java SDK。你可以找到的最新版本<一個類="reference external" href="https://mvnrepository.com/artifact/com.databricks/databricks-sdk-java">Maven中央存儲庫。
指導項目的聲明依賴於磚為Java SDK。例如,在IntelliJ IDEA,在您的項目項目工具窗口,點擊項目的根節點,然後單擊Maven >重新加載項目。
添加代碼導入數據磚Java SDK和列出所有的集群磚工作區。例如,在一個項目的Main.java文件,代碼可能如下:
進口com.databricks.sdk.WorkspaceClient;進口com.databricks.sdk.service.compute.ClusterInfo;進口com.databricks.sdk.service.compute.ListClustersRequest;公共類主要{公共靜態無效主要(字符串[]arg遊戲){WorkspaceClientw=新WorkspaceClient();為(ClusterInfoc:w。集群()。列表(新ListClustersRequest())){係統。出。println(c。getClusterName());}}}
請注意
不設置任何參數前調用WorkspaceClientw=新WorkspaceClient (),磚Java SDK的使用其默認程序試圖執行磚身份驗證。覆蓋默認行為,看到下麵的<一個類="reference internal" href="//m.eheci.com/docs/dev-tools/#authentication">身份驗證部分。
構建您的項目。例如,在IntelliJ IDEA,從主菜單中,單擊構建>構建項目。
運行您的主文件。例如,在IntelliJ IDEA項目Main.java文件,從主菜單中,單擊Run > Run '主'。
集群列表中出現。例如,在IntelliJ IDEA,這裏是美國運行工具窗口。顯示該工具窗口中,從主菜單中,單擊窗口視圖>工具>運行。
驗證你的磚的磚Java SDK的帳戶或工作區<一個類="headerlink" href="//m.eheci.com/docs/dev-tools/#authenticate-the-databricks-sdk-for-java-with-your-databricks-account-or-workspace" title="">
磚SDK的Java實現磚客戶端統一身份驗證標準,統一和一致的體係結構和編程方法來驗證。這種方法有助於使設置和自動化驗證磚更集中的和可預測的。它允許您配置數據磚身份驗證一次,然後使用該配置多個磚工具和sdk沒有進一步驗證配置更改。更多信息,包括更完整的示例代碼在Java中,看到的<一個類="reference internal" href="//m.eheci.com/docs/dev-tools/auth.html">磚客戶端統一身份驗證。
一些可用的編碼模式初始化數據磚與磚對Java SDK包括:身份驗證
使用磚默認驗證通過下列之一:
進口com.databricks.sdk.WorkspaceClient;/ /……WorkspaceClientw=新WorkspaceClient();/ /……
硬編碼所需的字段支持但不推薦,因為它的風險暴露敏感信息在您的代碼,如磚個人的訪問令牌。下麵的例子將磚磚令牌的身份驗證:主機和訪問令牌值
進口com.databricks.sdk.WorkspaceClient;進口com.databricks.sdk.core.DatabricksConfig;/ /……DatabricksConfigcfg=新DatabricksConfig()。setHost(“https://..”。)。setToken(“…”);WorkspaceClientw=新WorkspaceClient(cfg);/ /……
代碼示例<一個類="headerlink" href="//m.eheci.com/docs/dev-tools/#code-examples" title="">
下麵的代碼示例演示如何使用磚Java SDK的創建和刪除集群,創造就業機會,和帳戶級別組列表。這些代碼示例使用Java的默認數據磚的磚SDK<一個類="reference internal" href="//m.eheci.com/docs/dev-tools/#authentication">身份驗證的過程。
額外的代碼示例,請參閱<一個類="reference external" href="https://github.com/databricks/databricks-sdk-java/tree/main/examples">例子文件夾在GitHub磚SDK為Java庫。
這段代碼示例創建一個集群與指定的磚和集群節點類型運行時版本。這個集群有一個工人,集群將自動終止後15分鍾的空閑時間。
進口com.databricks.sdk.WorkspaceClient;進口com.databricks.sdk.service.compute.CreateCluster;進口com.databricks.sdk.service.compute.CreateClusterResponse;公共類主要{公共靜態無效主要(字符串[]arg遊戲){WorkspaceClientw=新WorkspaceClient();CreateClusterResponsec=w。集群()。創建(新CreateCluster()。setClusterName(“my-cluster”)。setSparkVersion(“12.2.x-scala2.12”)。setNodeTypeId(“i3.xlarge”)。setAutoterminationMinutes(15 l)。setNumWorkers(1 l))。getResponse();係統。出。println(“查看集群”+w。配置()。getHost()+“#設置/集群”+c。getClusterId()+“/配置\ n”);}}
這段代碼示例永久刪除集群與集群ID指定的工作區。
進口com.databricks.sdk.WorkspaceClient;進口java.util.Scanner;公共類主要{公共靜態無效主要(字符串[]arg遊戲){係統。出。println(“集群ID刪除(例如,1234 - 567890 ab123cd4):“);掃描儀在=新掃描儀(係統。在);字符串c_id=在。nextLine();WorkspaceClientw=新WorkspaceClient();w。集群()。permanentDelete(c_id);}}
這個代碼示例創建了一個磚工作,可用於指定集群上運行指定的筆記本。這段代碼運行,現有筆記本的路徑,現有集群ID,和相關的工作設置從用戶終端。
進口com.databricks.sdk.WorkspaceClient;進口com.databricks.sdk.service.jobs.JobTaskSettings;進口com.databricks.sdk.service.jobs.NotebookTask;進口com.databricks.sdk.service.jobs.NotebookTaskSource;進口com.databricks.sdk.service.jobs.CreateResponse;進口com.databricks.sdk.service.jobs.CreateJob;進口java.util.Scanner;進口java.util.Map;進口java.util.Collection;進口java.util.Arrays;公共類主要{公共靜態無效主要(字符串[]arg遊戲){係統。出。println(“一些短名稱的工作(例如,我的工作):“);掃描儀在=新掃描儀(係統。在);字符串jobName=在。nextLine();係統。出。println(“一些簡短描述的工作(例如,我的工作):“);字符串描述=在。nextLine();係統。出。println(“ID在工作區中現有的集群上運行的工作(例如,1234 - 567890 ab123cd4):“);字符串existingClusterId=在。nextLine();係統。出。println(“工作區路徑的筆記本運行(例如,/用戶/ someone@example.com/my-notebook):“);字符串notebookPath=在。nextLine();係統