我想遍历数据库中DBFS位置可用的文件。但它抛出一个错误,说'org. apache.park.sql.Analysis Exception: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)
错误是
分析异常:路径不存在:dbfs:/dbfs/FileStore/table/Dept_data. csv;
你能帮忙吗?
提前感谢
当使用DataFrameReaders(即:spark.read…
)读取数据库中的文件时,路径直接从DBFS读取,其中FileStore表目录实际上是:dbfs:/FileStore/table/
。关键是,使用Pythonos库,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内部实现)。希望这有所帮助