pyspark 如何读取.shp文件在databricks从filestore?

xoshrz7s  于 2023-01-20  发布在  Spark
关注(0)|答案(1)|浏览(179)

我正在使用Databricks社区,我保存在FileStore中的.shp,但当我试图读取我得到这个错误:

DriverError: /dbfs/FileStore/tables/World_Countries.shp: No such file or directory

这是我的准则

import geopandas as gpd
gdf = gpd.read_file("/dbfs/FileStore/tables/World_Countries.shp")

我也试过

gdf = gpd.read_file("/FileStore/tables/World_Countries.shp")
li9yvcax

li9yvcax1#

您应首先验证文件路径是否正确,以及文件是否存在于指定的位置。您可以使用dbutils.fs.ls命令列出目录的内容并检查文件是否存在。您可以使用以下命令执行此操作:

dbutils.fs.ls("dbfs:/FileStore/path/to/your/file.shp")

此外,请确保您具有访问该文件的正确权限。在数据块中,您可能需要是管理员或具有访问该文件的正确权限。
尝试使用完整路径读取文件,包括文件扩展名:

file_path = "dbfs:/FileStore/path/to/your/file.shp"
df = spark.read.format("shapefile").option("shape", file_path).load()

在Databrick中读取文件有几种方法:
1.

from pyspark.sql.functions import *

file_path = "dbfs:/FileStore/path/to/your/file.shp"

df = spark.read.format("shapefile").option("shape", file_path).load()

df.show()
df = spark.read.shape(file_path)

以及
3.

from pyspark.sql.functions import *
from pyspark.sql.types import *
from pyspark.sql.functions import *
from pyspark.sql.types import *
from pyspark.sql import functions as F
from shapely.geometry import Point

geo_df = df.select("shape").withColumn("geometry", F.shape_to_geometry("shape")).drop("shape").select("geometry")``

相关问题