在集群范围的初始化脚本中从 dbfs 复制文件
Copy file from dbfs in cluster-scoped init script
我想在 Azure Databricks 集群上试用集群范围的初始化脚本。我正在努力查看哪些命令可用。
基本上,我在 dbfs 上有一个文件,我想在集群启动时将其复制到本地目录 /tmp/config
。
所以我创建了一个非常简单的 bash 脚本:
#!/bin/bash
mkdir - p /tmp/config
databricks fs cp dbfs:/path/to/myFile.conf /tmp/config
启动集群失败 "Cluster terminated. Reason: Init Script Failure"。查看 dbfs 上的日志,我看到错误
bash: line 1: databricks: command not found
好的,所以 databricks
作为命令不可用。这是我在本地 bash 上使用的命令,用于从 dbfs 复制文件和向 dbfs 复制文件。
还有哪些其他命令可用于从 dbfs 复制文件?
更一般的:哪些命令实际可用?
默认情况下,databricks 集群上未安装 Databricks CLI。这就是您看到此错误消息 bash: line 1: databricks: command not found
.
的原因
为此,您应该使用 dbutils 命令,如下所示。
dbutils.fs.mkdirs("/tmp/config")
dbutils.fs.mv("/configuration/proxy.conf", "/tmp/config")
希望这对您有所帮助。
dbfs 已安装到集群,因此您只需将其复制到 shell 脚本中即可:
例如
cp /dbfs/your-folder/your-file.txt ./your-file-txt
如果您在 /dbfs 位置执行目录操作,您将获得 return 您在 dbfs 中拥有的所有 folders/data。
您也可以先在笔记本中通过
进行测试
%sh
cd /dbfs
dir
我想在 Azure Databricks 集群上试用集群范围的初始化脚本。我正在努力查看哪些命令可用。
基本上,我在 dbfs 上有一个文件,我想在集群启动时将其复制到本地目录 /tmp/config
。
所以我创建了一个非常简单的 bash 脚本:
#!/bin/bash
mkdir - p /tmp/config
databricks fs cp dbfs:/path/to/myFile.conf /tmp/config
启动集群失败 "Cluster terminated. Reason: Init Script Failure"。查看 dbfs 上的日志,我看到错误
bash: line 1: databricks: command not found
好的,所以 databricks
作为命令不可用。这是我在本地 bash 上使用的命令,用于从 dbfs 复制文件和向 dbfs 复制文件。
还有哪些其他命令可用于从 dbfs 复制文件? 更一般的:哪些命令实际可用?
默认情况下,databricks 集群上未安装 Databricks CLI。这就是您看到此错误消息 bash: line 1: databricks: command not found
.
为此,您应该使用 dbutils 命令,如下所示。
dbutils.fs.mkdirs("/tmp/config")
dbutils.fs.mv("/configuration/proxy.conf", "/tmp/config")
希望这对您有所帮助。
dbfs 已安装到集群,因此您只需将其复制到 shell 脚本中即可:
例如
cp /dbfs/your-folder/your-file.txt ./your-file-txt
如果您在 /dbfs 位置执行目录操作,您将获得 return 您在 dbfs 中拥有的所有 folders/data。
您也可以先在笔记本中通过
进行测试%sh
cd /dbfs
dir