PySpark 3.5.0集成Apache Sedona遇edu.ucar#cdm-core依赖缺失求助
解决Apache Sedona依赖edu.ucar#cdm-core;5.4.2无法找到的问题
问题根源
edu.ucar#cdm-core;5.4.2 属于Unidata的专属依赖包,不在默认Maven中央仓库中;同时你当前配置的Sedona版本与PySpark 3.5.0不匹配,进一步导致依赖解析失败。
解决方案
1. 补充Unidata Maven仓库地址
在Spark配置中添加Unidata的官方仓库,让Spark能定位到cdm-core包。
2. 匹配Sedona与PySpark版本
PySpark 3.5.0需要对应使用针对Spark 3.5编译的Sedona包,替换原配置中Spark 3.4版本的依赖。
修改后的完整代码
from pyspark.sql import SparkSession from pyspark import StorageLevel import geopandas as gpd import pandas as pd from shapely.geometry import Point from shapely.geometry import Polygon from sedona.spark import * from sedona.core.geom.envelope import Envelope config = SedonaContext.builder() \ .config('spark.jars.packages', 'org.apache.sedona:sedona-spark-shaded-3.5_2.12:1.5.1,' 'org.datasyslab:geotools-wrapper:1.5.1-28.2') \ .config('spark.jars.repositories', 'https://artifacts.unidata.ucar.edu/repository/unidata/') \ .getOrCreate() sedona = SedonaContext.create(config) sc = sedona.sparkContext print("Sedona context initialized successfully")
额外处理方案
如果网络无法访问Unidata仓库,可手动下载cdm-core-5.4.2.jar,通过本地路径加载:
# 替换为你的jar文件实际路径 .config('spark.jars', '/local/path/to/cdm-core-5.4.2.jar')
内容的提问来源于stack exchange,提问作者QueryQuasar
相关产品推荐
相关产品推荐

