簡體   English   中英

在集群范圍的初始化腳本中從 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

啟動集群失敗並顯示“集群終止。原因:初始化腳本失敗”。 查看 dbfs 上的日志,我看到了錯誤

bash: line 1: databricks: command not found

好的,所以databricks作為命令不可用。 這就是我在本地 bash 上使用的命令,用於從 dbfs 向 dbfs 復制文件。

還有哪些其他命令可用於從 dbfs 復制文件? 更一般地說:哪些命令實際上是可用的?

dbfs 已安裝到集群,因此您可以將其復制到 shell 腳本中:

例如

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

如果您在 /dbfs 位置執行 dir,您將返回 dbfs 中的所有文件夾/數據。

您也可以先在筆記本中通過以下方式對其進行測試

%sh
cd /dbfs
dir

默認情況下,Databricks CLI 未安裝在 databricks 集群上。 這就是您看到此錯誤消息bash: line 1: databricks: command not found的原因。

為此,您應該使用如下所示的dbutils命令。

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

在此處輸入圖像描述

參考: Databricks 實用程序

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM