提问者:小点点

在集群范围的初始化脚本中从dbfs复制文件


我想在Azure Database ricks集群上尝试集群范围的初始化脚本。我很难看到哪些命令可用。

基本上,我在dbfs上有一个文件,我想在集群启动时将其复制到本地目录/tmp/config

所以我创建了一个非常简单的bash脚本:

#!/bin/bash
mkdir - p /tmp/config
databricks fs cp dbfs:/path/to/myFile.conf /tmp/config

启动集群失败,并显示“集群终止。原因:初始化脚本失败”。查看dbfs上的日志,我看到错误

bash: line 1: databricks: command not found

好的,所以数据库作为命令不可用。这是我在本地bash上使用的命令,用于将文件从dbfs复制到dbfs。

还有哪些其他命令可用于从dbfs复制文件?更一般地说:哪些命令实际可用?


共2个答案

匿名用户

dbfs挂载到集群中,因此您可以将其复制到外壳脚本中:

例如。

cp /dbfs/your-folder/your-file.txt ./your-file-txt

如果你在 /dbfs位置上做一个目录,你会得到dbfs中所有的文件夹/数据。

您也可以首先通过在笔记本中测试它

%sh
cd /dbfs
dir

匿名用户

默认情况下,数据库CLI未安装在数据库群集上。这就是您看到以下错误消息的原因bash:第1行:数据库:未找到命令

为此,您应该使用dbutils命令,如下所示。

dbutils.fs.mkdirs("/tmp/config")
dbutils.fs.mv("/configuration/proxy.conf", "/tmp/config")

参考:数据库实用程序

希望这有帮助。