Databricks文件系统-%sh ls与%fs ls



我有一些文件位于%sh ls中,我想将这些文件移动到数据块的文件系统中(使它们在%fs ls中可见(。

你们知道%sh ls%fs ls之间的区别吗?我该如何在它们之间移动文件?

我知道我们可以使用dbutils.fs.cp来移动已经在%fs ls位置的文件。

任何帮助或建议都将不胜感激。

当您通过%sh执行命令时,它们仅在驱动程序节点上执行,并在该机器上显示内容。当您执行%fs ls时,默认情况下它会显示DBFS(Databricks File System(的内容,但如果您在路径中添加file://前缀,它也可以显示本地内容。

您可以按照以下方式复制或移动文件文件:

  1. 使用dbutils.fs.cp("file:///local-path", "dbfs-path")(或dbutils.fs.mv(
  2. 通过使用将DBFS装载到本地机器的所谓FUSE装载,您需要将/dbfs/前缀添加到您希望在DBFS上拥有的路径,例如/dbfs/FileStore/....(如果您使用的是DBR>=7.x的Community edition,那么它可能不起作用,所以您只有第一个方法(

p.S.您可以在文档中找到更多信息。

最新更新