1

我在 Azure Databricks 中使用以下命令尝试将文件 test.csv 从本地 C: 驱动器复制到 Databricks dbfs 位置,如图所示。

dbutils.fs.cp("C:/BoltQA/test.csv", "dbfs:/tmp/test_files/test.csv")

我收到此错误:

java.io.IOException: No FileSystem for scheme: C
---------------------------------------------------------------------------
ExecutionError                            Traceback (most recent call last)
<command-3936625823332356> in <module>
----> 1 dbutils.fs.cp("C:/test.csv", "dbfs:/tmp/test_files/test.csv")
      2 

/local_disk0/tmp/1605164901540-0/dbutils.py in f_with_exception_handling(*args, **kwargs)
    312                     exc.__context__ = None
    313                     exc.__cause__ = None
--> 314                     raise exc
    315             return f_with_exception_handling
    316 

请帮忙。

4

2 回答 2

2

不幸的是,您不能使用该dbutils.fs.cp命令将文件从本地计算机复制到 Databricks 文件系统。它曾经仅在 Databricks 文件系统上复制文件。

有多种方法可以将文件从本地计算机上传到 Azure Databricks DBFS 文件夹。

方法 1:使用 Azure Databricks 门户。

在此处输入图像描述

方法 2 :使用 Databricks CLI

DBFS 命令行界面 (CLI) 使用 DBFS API 向 DBFS 公开易于使用的命令行界面。使用此客户端,您可以使用类似于在 Unix 命令行上使用的命令与 DBFS 进行交互。例如:

# List files in DBFS
dbfs ls
# Put local file ./apple.txt to dbfs:/apple.txt
dbfs cp ./apple.txt dbfs:/apple.txt
# Get dbfs:/apple.txt and save to local file ./apple.txt
dbfs cp dbfs:/apple.txt ./apple.txt
# Recursively put local dir ./banana to dbfs:/banana
dbfs cp -r ./banana dbfs:/banana

在此处输入图像描述

参考: 安装和配置 Azure Databricks CLI

方法3:使用第三方工具DBFS Explorer

DBFS Explorer是作为一种将文件上传和下载到 Databricks 文件系统 (DBFS) 的快速方法而创建的。这将适用于 Databricks 的 AWS 和 Azure 实例。您需要在 Web 界面中创建不记名令牌才能连接。

Step1:下载安装DBFS Explorer并安装。

Step2:打开 DBFS Explorer 并输入:Databricks URL 和 Personal Access Token

在此处输入图像描述

Step3:从本机选择要上传文件的文件夹,拖放到要上传的文件夹中,点击上传。

在此处输入图像描述

于 2020-11-12T11:30:36.520 回答
0

感谢您的回答@CHEEKATLAPRADEEP-MSFT。

您可以将 Blob 存储容器或容器内的文件夹装载到 Databricks 文件系统 (DBFS)。挂载是指向 Blob 存储容器的指针,因此数据永远不会在本地同步。请参阅 docs.microsoft.com

于 2020-11-17T08:50:12.893 回答