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