我想在Azure Databricks群集上试用群集范围的初始化脚本。我正在努力查看哪些命令可用。
基本上,我在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
好,因此databricks
作为命令不可用。这是我在本地bash上用于在dbfs之间复制文件的命令。
还有哪些其他命令可用于从dbfs复制文件? 更笼统:哪些命令实际可用?
答案 0 :(得分:1)
dbfs已安装到集群,因此您只需将其复制到shell脚本中即可:
例如
cp /dbfs/your-folder/your-file.txt ./your-file-txt
如果在/ dbfs位置上执行dir,则作为回报,您将获得dbfs中的所有文件夹/数据。
您还可以先通过
在笔记本中对其进行测试%sh
cd /dbfs
dir
答案 1 :(得分:0)
默认情况下,databricks群集上未安装Databricks CLI。这就是您看到此错误消息bash: line 1: databricks: command not found
的原因。
要实现此目的,您应该使用 dbutils 命令,如下所示。
dbutils.fs.mkdirs("/tmp/config")
dbutils.fs.mv("/configuration/proxy.conf", "/tmp/config")
希望这会有所帮助。