如何指定 DBFS 路径

使用 Azure Databricks 时,有时必须访问 Databricks 文件系统 (DBFS)。

使用标准文件系统命令可以访问 DBFS 上的文件,但语法会根据所使用的语言或工具而有所不同。

例如,采用以下 DBFS 路径:

dbfs:/mnt/test_folder/test_folder1/

Apache Spark

在 Spark 下,应指定 Spark 读取命令中的完整路径。

spark.read.parquet(“dbfs:/mnt/test_folder/test_folder1/file.parquet”)

DBUtils

使用 DBUtils 时,应使用完整的 DBFS 路径,就像在 Spark 命令中一样。 根据所用的语言,有关 DBFS 路径的特定于语言的格式设置有所不同。

%fs
ls dbfs:/mnt/test_folder/test_folder1/
dbutils.fs.ls(‘dbfs:/mnt/test_folder/test_folder1/’)
dbutils.fs.ls(“dbfs:/mnt/test_folder/test_folder1/”)

注意

使用 DBUtils 或 Spark 命令时,不需要指定 dbfs:。 路径 dbfs:/mnt/test_folder/test_folder1/ 等效于 /mnt/test_folder/test_folder1/

Shell 命令

Shell 命令无法识别 DFBS 路径。 相反,用于访问 DBFS 和其中的文件的语法与文件系统上的其他文件夹相同。

Bash

ls /dbfs/mnt/test_folder/test_folder1/
cat /dbfs/mnt/test_folder/test_folder1/file_name.txt

Python

import os
os.listdir('/dbfs/mnt/test_folder/test_folder1/’)

Scala

import java.io.File
val directory = new File("/dbfs/mnt/test_folder/test_folder1/")
directory.listFiles