【问题标题】:Databricks Connect: Automatically Accept License PromptDatabricks Connect:自动接受许可提示
【发布时间】:2021-11-09 15:34:25
【问题描述】:

我正在尝试编写一个 Dockerfile 来构建一个利用 Databricks Conenect 的容器。因此,我需要通过 Docker RUN 命令设置和安装 Databricks Connect。我有以下内容:

FROM python:3.8
COPY requirements.txt /tmp/
RUN apt-get update\
    && apt-get install software-properties-common -y\
    && apt-get update\
    && apt-add-repository "deb http://security.debian.org/debian-security stretch/updates main"\
    && apt-get update\
    && apt-get install openjdk-8-jdk -y
RUN pip install --requirement /tmp/requirements.txt\
    && databricks-connect configure\
    && databricks-connect test

作为产生我的问题的简化示例。步骤:databricks-connect configure 提示接受许可,默认为N,因此抛出以下错误:

...
#14 1.345 Do you accept the above agreement? [y/N] Traceback (most recent call last):
#14 1.346   File "/usr/local/bin/databricks-connect", line 8, in <module>
#14 1.346     sys.exit(main())
#14 1.346   File "/usr/local/lib/python3.8/site-packages/pyspark/databricks_connect.py", line 281, in main
#14 1.346     configure()
#14 1.346   File "/usr/local/lib/python3.8/site-packages/pyspark/databricks_connect.py", line 119, in configure
#14 1.346     accept = input().strip()
#14 1.346 EOFError: EOF when reading a line
------
executor failed running [/bin/sh -c databricks-connect configure]: exit code: 1

我怎样才能自动接受它作为 Docker 构建的一部分?

【问题讨论】:

    标签: python docker dockerfile databricks databricks-connect


    【解决方案1】:

    你需要使用这样的东西(从this demo偷来的),因为除了接受许可条款,你还需要提供其他参数:

    echo "y
    $(databricks_host)
    $(databricks_token)
    $(cluster_id)
    $(org_id)
    15001" | databricks-connect configure
    

    或者您可以只生成 JSON 格式的 ~/.databricks-connect 文件:

    {
      "host": "https://host",
      "cluster_id": "cluster",
      "org_id": "org_id",
      "port": "15001"
    }
    

    【讨论】:

    • 是的!第一个选项看起来像下面这样(对于未来的任何人):text RUN echo "y\ $(DATABRICKS_ADDRESS)\ $(DATABRICKS_API_TOKEN)\ $(DATABRICKS_CLUSTER_ID)\ $(DATABRICKS_ORG_ID)\ 15001" | databricks-connect configure RUN databricks-connect test
    猜你喜欢
    • 2016-10-31
    • 1970-01-01
    • 2017-01-29
    • 2018-03-02
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2021-05-18
    • 2023-03-13
    相关资源
    最近更新 更多