砖Java SDK<一个类="headerlink" href="//www.neidfyre.com/docs/dev-tools/#databricks-sdk-for-java" title="">
实验
Java是一个砖SDK<一个类="reference internal" href="//www.neidfyre.com/docs/release-notes/release-types.html">实验状态。提供反馈,问问题,和报告问题,使用<一个类="reference external" href="https://github.com/databricks/databricks-sdk-java/issues">问题选项卡在GitHub砖SDK为Java库。
在实验期间,砖正积极致力于稳定的砖SDK的Java的接口。API为所有客户服务从规范文件同步生成的主要平台。bob体育客户端下载你是高度鼓励的砖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="//www.neidfyre.com/docs/dev-tools/#before-you-begin" title="">
在你开始使用砖为Java SDK,您的开发机必须有:
砖<一个类="reference internal" href="//www.neidfyre.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="//www.neidfyre.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="//www.neidfyre.com/docs/dev-tools/#authentication">身份验证部分。
构建您的项目。例如,在IntelliJ IDEA,从主菜单中,单击构建>构建项目。
运行您的主文件。例如,在IntelliJ IDEA项目Main.java文件,从主菜单中,单击Run > Run '主'。
集群列表中出现。例如,在IntelliJ IDEA,这里是美国运行工具窗口。显示该工具窗口中,从主菜单中,单击窗口视图>工具>运行。
验证你的砖的砖Java SDK的帐户或工作区<一个类="headerlink" href="//www.neidfyre.com/docs/dev-tools/#authenticate-the-databricks-sdk-for-java-with-your-databricks-account-or-workspace" title="">
砖SDK的Java实现砖客户端统一身份验证标准,统一和一致的体系结构和编程方法来验证。这种方法有助于使设置和自动化验证砖更集中的和可预测的。它允许您配置数据砖身份验证一次,然后使用该配置多个砖工具和sdk没有进一步验证配置更改。更多信息,包括更完整的示例代码在Java中,看到的<一个类="reference internal" href="//www.neidfyre.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="//www.neidfyre.com/docs/dev-tools/#code-examples" title="">
下面的代码示例演示如何使用砖Java SDK的创建和删除集群,创造就业机会,和帐户级别组列表。这些代码示例使用Java的默认数据砖的砖SDK<一个类="reference internal" href="//www.neidfyre.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();系统