【问题标题】:How to use DataBricks dbutils jar outside notebook?如何在笔记本外使用 DataBricks dbutils jar?
【发布时间】:2019-12-24 12:27:05
【问题描述】:

DataBricks dbutils 库需要在 Eclipse 或任何其他 IDE 中使用。诸如 dbutils.secrets.get 之类的方法在 Notebook 外部的 SecretUtil API 中不可用。在这种情况下我们可以使用com.databricksjar

【问题讨论】:

    标签: apache-spark databricks azure-databricks


    【解决方案1】:

    这是 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 notebook 中使用的 dbutils。你可以像这样使用它

    dbutils.secrets.get(scope, name)
    

    【讨论】:

    • 0.0.3版本是哪来的,怎么检查我笔记本里的一致?
    • 我刚刚添加了适合我的版本。有4个版本。其中之一应该适合你。
    【解决方案2】:

    1.如果通过 IDE 运行您的 java 应用程序 ---

    一个。使用 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>"));
    

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

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

    2.现在,如果您要在 databricks 上部署 jar,请使用以下代码: a.为 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>"));
    

    希望这会奏效!!!

    【讨论】:

      猜你喜欢
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      • 2022-11-26
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      相关资源
      最近更新 更多