【发布时间】:2021-05-19 10:17:27
【问题描述】:
我使用以下代码从 dbfs 读取 shapefile:
geopandas.read_file("file:/databricks/folderName/fileName.shp")
很遗憾,我无权执行此操作,并且收到以下错误
DriverError: dbfs:/databricks/folderName/fileName.shp: Permission denied
知道如何授予访问权限吗?文件存在那里(我有权使用 dbutils 将文件保存在那里 - 我可以使用 spark 从那里读取文件,但我不知道如何使用 pyspark 读取文件)。
添加这些行之后:
dbutils.fs.cp("/databricks/folderName/fileName.shp", "file:/tmp/fileName.shp", recurse = True)
geopandas.read_file("/tmp/fileName.shp")
...从下面的建议我得到另一个错误。
org.apache.spark.api.python.PythonSecurityException: Path 'file:/tmp/fileName.shp' uses an untrusted filesystem 'org.apache.hadoop.fs.LocalFileSystem', but your administrator has configured Spark to only allow trusted filesystems: (com.databricks.s3a.S3AFileSystem, shaded.databricks.azurebfs.org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem, shaded.databricks.v20180920_b33d810.org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem, com.databricks.adl.AdlFileSystem, shaded.databricks.V2_1_4.com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem, shaded.databricks.org.apache.hadoop.fs.azure.NativeAzureFileSystem, shaded.databricks.org.apache.hadoop.fs.s3a.S3AFileSystem)
【问题讨论】:
-
运行 dbutils 命令检查文件是否真的存在 .. 例如:dbutils.fs.ls("/databricks/folderName/")
-
幸运的是,它确实存在,这就是我如此惊讶的原因。我可以在那里保存一个文件,但我无法读取它:(
标签: python azure pyspark databricks azure-databricks