【问题标题】:Non-interactive configuration of databricks-connectdatabricks-connect 的非交互式配置
【发布时间】:2021-12-24 10:52:24
【问题描述】:

我正在将开发环境设置为 Docker 容器映像。这将允许我和我的同事使用它作为解释器环境快速启动和运行。我们的预期工作流是在本地开发代码并在连接到各种数据源的 Azure Databricks 群集上执行它。为此,我正在考虑使用databricks-connect

我正在运行 databricks-connect 的配置,显然它只是一个交互式过程。这导致每次运行 Docker 容器映像时都必须运行 databricks-connect configure 并提供各种配置值,这很可能会造成麻烦。

有没有办法以非交互方式配置 databricks-connect? 这将允许我在开发环境中包含配置过程Dockerfile 并且只需要开发人员提供(重新)构建本地开发环境时的配置值。

【问题讨论】:

    标签: databricks databricks-connect


    【解决方案1】:

    是的 - 有可能,有不同的方法:

    • 使用shell多行输入,像这样(取自here)——只需要定义正确的环境变量:
    echo "y
    $databricks_host
    $databricks_token
    $cluster_id
    $org_id
    15001" | databricks-connect configure
    
    • 直接生成配置文件 - 您需要填写必要参数的只是 JSON。生成一次,查看~/.databricks-connect 并重复使用。

    但实际上您可能根本不需要配置 - Databricks 连接可以从环境变量(如 DATABRICKS_ADDRESS)或 Spark 配置(如 spark.databricks.service.address)中获取信息 - 只需参考 official documentation

    【讨论】:

    • 谢谢,您回答的第一部分非常有帮助,一定会完成工作!关于第二部分:i)我不知道配置文件是在配置之后创建的,并且应该可以预先创建:您对此有任何参考吗? ii) 设置环境变量对我不起作用,设置 Spark 配置导致我进入另一个交互式会话,所以我放弃了这条路线。我在官方文档中遗漏了什么吗?
    • 配置文件是真正在配置后创建的——它的名字是~/.databricks-connect。关于环境变量 - 这真的很奇怪 - 我前段时间使用过,它们工作得很好
    • 谢谢,之前没找到这个配置文件!
    猜你喜欢
    • 2019-09-20
    • 1970-01-01
    • 2016-09-22
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2012-10-18
    相关资源
    最近更新 更多