You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Glue Spark作业中Pyiceberg包找不到问题求助

解决Spark作业中ModuleNotFoundError: No module named 'pyiceberg'的问题

以下是针对该问题的可行解决方案:

  • 确认Python环境一致性
    先在你运行%pip install pyiceberg的环境中执行:

    import sys
    print(sys.executable)
    

    记录输出的Python解释器路径。Spark作业默认可能使用系统Python或其他隔离环境,导致找不到你安装的pyiceberg。

  • 指定Spark使用的Python路径
    提交Spark作业时,通过配置参数强制指定使用安装了pyiceberg的Python环境:

    spark-submit --conf spark.pyspark.python=/path/to/your/python your_job.py
    

    把/path/to/your/python替换成你刚才获取的路径。如果是YARN集群环境,还需要补充:

    --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=/path/to/your/python
    --conf spark.executorEnv.PYSPARK_PYTHON=/path/to/your/python
    
  • 打包依赖包随作业提交
    如果无法统一Python环境,可以将pyiceberg包打包后随Spark作业一起提交:

    1. 下载pyiceberg包到本地目录:
      pip download pyiceberg -d ./deps
      
    2. 提交作业时指定依赖文件:
      spark-submit --py-files ./deps/pyiceberg-*.tar.gz your_job.py
      
  • 验证Spark环境中的包
    在你的Spark作业代码开头加入以下代码,确认pyiceberg是否存在于Spark运行环境中:

    import pip
    installed_packages = pip.get_installed_distributions()
    package_names = [pkg.project_name for pkg in installed_packages]
    print("Installed packages:", package_names)
    

    如果输出中没有pyiceberg,说明环境确实不匹配,回到前面的步骤调整。

内容的提问来源于stack exchange,提问作者user31081998

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 09:42:35