Azure Databricks 集群初始化脚本 - 安装 python wheel
Azure Databricks cluster init script - install python wheel
我有一个 python 脚本,它在数据块中安装一个存储帐户,然后从存储帐户安装一个轮子。我正在尝试 运行 它作为集群初始化脚本,但它一直失败。我的脚本格式为:
#/databricks/python/bin/python
mount_point = "/mnt/...."
configs = {....}
source = "...."
if not any(mount.mountPoint == mount_point for mount in dbutils.fs.mounts()):
dbutils.fs.mount(source = source, mount_point = mount_point, extra_configs = configs)
dbutils.library.install("dbfs:/mnt/.....")
dbutils.library.restartPython()
当我 运行 它直接在笔记本中时它可以工作,但是如果我保存到一个名为 dbfs:/databricks/init_scripts/datalakes/init.py
的文件并将其用作集群初始化脚本,集群将无法启动并显示错误消息表示 init 脚本具有非零退出状态。我检查了日志,它似乎是 运行ning 作为 bash 而不是 python:
bash: line 1: mount_point: command not found
我已经尝试从一个名为 init.bash 的 bash 脚本中 运行 连接 python 脚本,其中包含这一行:
/databricks/python/bin/python "dbfs:/databricks/init_scripts/datalakes/init.py"
然后使用 init.bash 的集群无法启动,日志显示找不到 python 文件:
/databricks/python/bin/python: can't open file 'dbfs:/databricks/init_scripts/datalakes/init.py': [Errno 2] No such file or directory
任何人都可以告诉我如何让这个工作吗?
相关问题:
我采用的解决方案是 运行 一个安装存储的笔记本并创建一个 bash 只安装轮子的初始化脚本。像这样:
mount_point = "/mnt/...."
configs = {....}
source = "...."
if not any(mount.mountPoint == mount_point for mount in dbutils.fs.mounts()):
dbutils.fs.mount(source = source, mount_point = mount_point, extra_configs = configs)
dbutils.fs.put("dbfs:/databricks/init_scripts/datalakes/init.bash","""
/databricks/python/bin/pip install "../../../dbfs/mnt/package-source/parser-3.0-py3-none-any.whl"""", True)"
我有一个 python 脚本,它在数据块中安装一个存储帐户,然后从存储帐户安装一个轮子。我正在尝试 运行 它作为集群初始化脚本,但它一直失败。我的脚本格式为:
#/databricks/python/bin/python
mount_point = "/mnt/...."
configs = {....}
source = "...."
if not any(mount.mountPoint == mount_point for mount in dbutils.fs.mounts()):
dbutils.fs.mount(source = source, mount_point = mount_point, extra_configs = configs)
dbutils.library.install("dbfs:/mnt/.....")
dbutils.library.restartPython()
当我 运行 它直接在笔记本中时它可以工作,但是如果我保存到一个名为 dbfs:/databricks/init_scripts/datalakes/init.py
的文件并将其用作集群初始化脚本,集群将无法启动并显示错误消息表示 init 脚本具有非零退出状态。我检查了日志,它似乎是 运行ning 作为 bash 而不是 python:
bash: line 1: mount_point: command not found
我已经尝试从一个名为 init.bash 的 bash 脚本中 运行 连接 python 脚本,其中包含这一行:
/databricks/python/bin/python "dbfs:/databricks/init_scripts/datalakes/init.py"
然后使用 init.bash 的集群无法启动,日志显示找不到 python 文件:
/databricks/python/bin/python: can't open file 'dbfs:/databricks/init_scripts/datalakes/init.py': [Errno 2] No such file or directory
任何人都可以告诉我如何让这个工作吗?
相关问题:
我采用的解决方案是 运行 一个安装存储的笔记本并创建一个 bash 只安装轮子的初始化脚本。像这样:
mount_point = "/mnt/...."
configs = {....}
source = "...."
if not any(mount.mountPoint == mount_point for mount in dbutils.fs.mounts()):
dbutils.fs.mount(source = source, mount_point = mount_point, extra_configs = configs)
dbutils.fs.put("dbfs:/databricks/init_scripts/datalakes/init.bash","""
/databricks/python/bin/pip install "../../../dbfs/mnt/package-source/parser-3.0-py3-none-any.whl"""", True)"