我有一些文件位于%sh ls
,我想将这些文件移动到databricks的文件系统中(使它们在%fs ls
中可见)。
你们中有人知道%sh ls
和%fs ls
之间的区别是什么,以及如何在它们之间移动文件吗?
我知道我们可以使用dbutils.fs.cp
来移动已经位于%fs ls
位置的文件。
任何帮助或指针都将不胜感激。
我有一些文件位于%sh ls
,我想将这些文件移动到databricks的文件系统中(使它们在%fs ls
中可见)。
你们中有人知道%sh ls
和%fs ls
之间的区别是什么,以及如何在它们之间移动文件吗?
我知道我们可以使用dbutils.fs.cp
来移动已经位于%fs ls
位置的文件。
任何帮助或指针都将不胜感激。
当您通过%sh
执行命令时,它们仅在驱动程序节点上执行,并在该计算机上显示内容。 当您使用%fs ls
时,默认情况下会显示DBFS(Databricks文件系统)的内容,但如果将file://
前缀添加到路径中,它也可以显示本地内容。
您可以按以下方式复制或移动文件:
dbutils.fs.cp("file:///local-path", "dbfs-path")
(或dbutils.fs.mv
)/dbfs/
前缀添加到您希望在DBFS上拥有的路径上,例如,/dbfs/FileStore/....
(如果您正在使用DBR> = 7.x的社区版,则可能不起作用,因此您只能使用第一种方法)P.S. 您可以在文档中找到更多信息。
import from my_module
将非常有用。 - d8aninja