python Databricks dbutils.fs.mv在BDFS中找不到解压缩的文件

eyh26e7m  于 2023-05-21  发布在  Python
关注(0)|答案(1)|浏览(119)

我试图遵循Microsoft Tutorial关于如何导入压缩文件,解压缩它,然后使用数据块将文件内容加载到 Dataframe 中。
教程的第一部分进行得相当顺利,它是从FTP服务器获取文件的bash脚本,然后解压缩文件:

%sh curl ftp://ftp.senture.com/Crash_2023Apr.zip --output /tmp/Crash_2023Apr.zip
unzip /tmp/Crash_2023Apr.zip

您可以看到文件已下载并解压缩,结果中有两个文件。此文件是由FMCSA(联邦汽车运输安全管理局)提供的公共记录集的一部分,并由其承包商Senture托管,因此请随时尝试自己。
本教程停止工作时,试图移动其中一个解压缩文件不幸的是,

dbutils.fs.mv("file:/2023Apr_Crash.txt", "dbfs:/tmp/2023Apr_Crash.txt")

这给了我以下错误:

我假设自本教程发布以来发生了一些变化,或者本教程实际上从未有效过。我知道这是一个长镜头,但有一些语法,我可以改变,将使这一工作,或者我坚持必须安装一个存储文件夹之前,我可以拉这个关闭。
我试过的东西
1.将“file:/2023Apr_Crash.txt”部分的源文件更改为“/2023Apr_Crash.txt”,出现相同错误。
1.将“file:/2023Apr_Crash.txt”部分的源文件更改为“2023Apr_Crash.txt”,相同错误
1.在下载和解压缩部分的同一命令窗口中运行DBUtils行失败,因为它认为这是一个bash语句,因此语法错误。即使我使用pythonmagic命令让它知道下面是python脚本,也会发生这种情况
1.跳过复制命令以查看txt文件是否已在文件夹中,将显示错误消息:[PATH_NOT_FOUND]路径不存在:dbfs:/tmp/2023Apr_Crash.txt
感谢您抽出时间阅读本文。

holgip5t

holgip5t1#

在本例中,您不是在使用DBFS,而是在使用本地文件。更简单的方法是使用DBFS fuse mount将解压缩的文件放到DBFS,就像这样将数据放到DBFS上的某个目录:

unzip -d /dbfs/<some_dir> /tmp/Crash_2023Apr.zip

相关问题