Pyspark 按目录中的 filtetypes 列出文件

Pyspark list files by filtetypes in a directory

我想在目录中按文件类型列出文件。该目录有 .csv、.pdf 等文件类型,我想列出所有 .csv 文件。

我正在使用以下命令

dbutils.fs.ls("/mnt/test-output/*.csv")

我希望获得该目录中所有 csv 文件的列表。

我在数据块中收到以下错误

java.io.FileNotFoundException: No such file or directory: /test-output/*.csv

我认为您将 DBFS 与本地文件系统混合使用。 /mnt/test-output/*.csv在哪里?

如果您尝试从 DBFS 读取数据,那么它将起作用。

你能尝试运行 dbutils.fs.ls("/") 来确保 /mnt 存在于 DBFS 中吗?

尝试将 shell 单元格与 %sh 一起使用。您也可以从那里访问 DBFS 和 mnt 目录。

%sh
ls /dbfs/mnt/*.csv

应该会得到像

这样的结果
/dbfs/mnt/temp.csv

%fsdbutils 的快捷方式及其对文件系统的访问。 dbutils 不支持所有 unix shell 函数和语法,所以这可能是您 运行 遇到的问题。还要注意当 运行 %sh 单元格时我们如何使用 /dbfs/ 访问 DBFS。