我想遍历Databricks中DBFS位置的可用文件。 但它抛出了一个错误说 'org.apache.spark.sql.AnalysisException: Path 不存在:' 这是我尝试过的代码:
import os
from pyspark.sql.types import *
fileDirectory = '/dbfs/FileStore/tables/'
for fname in os.listdir(fileDirectory):
df_app = sqlContext.read.format("csv").
option("header", "true"). `enter code here`
load(fileDirectory + fname)
错误是
org.apache.spark.sql.AnalysisException: Path 不存在: dbfs:/dbfs/FileStore/tables/Dept_data.csv;
你能帮忙吗?
提前致谢
当使用 DataFrameReader 读取 Databricks 中的文件时(即:spark.read...
(,路径直接从 DBFS 读取,其中 FileStore 表目录实际上是:dbfs:/FileStore/tables/
。关键是,使用 Python os 库,DBFS 是另一个路径文件夹(这就是为什么您可以使用/dbfs/FileStore/tables 访问它的原因(。因此,使用这样的东西应该可以正常工作:
import os
from pyspark.sql.types import *
fileDirectory = '/dbfs/FileStore/tables/'
dir = '/FileStore/tables/'
for fname in os.listdir(fileDirectory):
df_app = sqlContext.read.format("json").option("header", "true").load(dir + fname)
此外,您可以仔细检查 dbutils 命令 (https://docs.databricks.com/dev-tools/databricks-utils.html#dbutilsfsls-command(,这些命令可以帮助您直接操作 DBFS(无需处理 dbfs 内部实现(。 希望这有帮助