无法访问上传到 Databricks 社区版运行时 9.1 上的 dbfs 的文件。尝试了 dbutils.fs.cp 解决方法,但也没有用

Unable to access files uploaded to dbfs on Databricks community edition Runtime 9.1. Tried the dbutils.fs.cp workaround which also didn't work

我是 Spark 的初学者,刚刚拿起强烈推荐的 'Spark - the Definitive Edition' 教科书。 运行 代码示例并遇到了第一个需要我上传本书随附的飞行数据 csv 文件的示例。我已将文件上传到以下位置,如屏幕截图所示:

/FileStore/tables/spark_the_definitive_guide/data/flight-data/csv

我过去曾使用 Azure Databricks 将文件直接上传到 DBFS 并使用 ls 命令访问它们,没有任何问题。但是现在在社区版的Databricks(Runtime 9.1)中,我似乎无法这样做。

当我尝试访问我刚刚使用以下命令上传到 dbfs 的 csv 文件时:

%sh ls /dbfs/FileStore/tables/spark_the_definitive_guide/data/flight-data/csv

我不断收到以下错误:

ls: cannot access '/dbfs/FileStore/tables/spark_the_definitive_guide/data/flight-data/csv': No such file or directory

我尝试找出解决方案并遇到了使用 dbutils.fs.cp() 的建议解决方法,如下所示:

dbutils.fs.cp('C:/Users/myusername/Documents/Spark_the_definitive_guide/Spark-The-Definitive-Guide-master/data/flight-data/csv', 'dbfs:/FileStore/tables/spark_the_definitive_guide/data/flight-data/csv')

dbutils.fs.cp('dbfs:/FileStore/tables/spark_the_definitive_guide/data/flight-data/csv/', 'C:/Users/myusername/Documents/Spark_the_definitive_guide/Spark-The-Definitive-Guide-master/data/flight-data/csv/', recurse=True)

他们都没有工作。都抛出错误: java.io.IOException: No FileSystem for scheme: C

这真的阻碍了我继续学习。如果有人能尽快帮我解决这个问题,那就太酷了。提前致谢。

我相信你尝试使用的方式是错误的,像这样使用它

列出数据:

显示(dbutils.fs.ls("/FileStore/tables/spark_the_definitive_guide/data/flight-data/"))

在数据块目录之间复制:

dbutils.fs.cp("/FileStore/jars/d004b203_4168_406a_89fc_50b7897b4aa6/databricksutils-1.3.0-py3-none-any.whl","/FileStore/tables/new.whl")

对于本地副本,您需要高级版本,您可以在其中创建令牌并配置 databricks-cli 从计算机发送到您的数据块帐户的 dbfs:

databricks fs cp C:/folder/file.csv dbfs:/FileStore/folder