如何在笔记本外使用DataBricks dbutils jar?

时间:2019-08-19 09:41:42

标签: apache-spark databricks azure-databricks

DataBricks dbutils库需要在eclipse或任何其他IDE中使用。笔记本外部的SecretUtil API无法使用dbutils.secrets.get之类的方法。在这种情况下,我们可以使用com.databricks jar

3 个答案:

答案 0 :(得分:2)

这是DataBricks dbutils库的Maven存储库

<dependency>
<groupId>com.databricks</groupId>
<artifactId>dbutils-api_2.11</artifactId>
<version>0.0.3</version>

添加此代码后,将其导入代码中

import com.databricks.dbutils_v1.DBUtilsHolder.dbutils

这是我们在DataBricks笔记本中使用的dbutils。您可以像

那样使用它
dbutils.secrets.get(scope, name)

答案 1 :(得分:1)

1。如果通过IDE运行Java应用程序---

a。使用databricks-connect下载所需的jar。

b。添加下载的jar。

c.now代码将是---

com.databricks.service.SecretUtils$ secretClient = com.databricks.service.DBUtils.secrets();
System.out.println(secretClient.get("<secret-scope>", "<secret-key>"));

现在,当您运行此命令时,它将在您的控制台中为您提供一个命令,您需要在该数据砖帐户中的任何群集上运行该命令以获得令牌。 获得令牌后,您需要将代码编写为:

com.databricks.service.SecretUtils$ secretClient = com.databricks.service.DBUtils.secrets();
secretClient.setToken("<token>");
System.out.println(secretClient.get("<secret-scope>", "<secret-key>"));

2。现在,如果要在数据块上部署jar,请使用以下代码: a.add可以找到dbutils-api的最新maven依赖项:

https://docs.databricks.com/dev-tools/databricks-utils.html#databricks-utilities-api-library

然后只需运行以下代码:

com.databricks.dbutils_v1.SecretUtils hostedSecretClient = com.databricks.dbutils_v1.DBUtilsHolder.dbutils().secrets();
System.out.println(hostedSecretClient.get("<secret-scope>", "<secret-key>"));

希望这会起作用!!!

答案 2 :(得分:0)

注意:我还没有这个工作,当我尝试在Dataricks上将其作为火花提交作业运行时,会得到nullpointerexception。

我想补充一下Nikhil的答案(没有足够的声誉来评论),groupId和artifactId是正确的,但是dbutils.secrets在0.0.1版本中不可用,但是在0.0.3版本中可用。

<dependency>
  <groupId>com.databricks</groupId>
  <artifactId>dbutils-api_2.11</artifactId>
  <version>0.0.3</version>
</dependency>