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

在Pyspark EMR bootstrap脚本中安装Python包报great_expectations缺失如何处理

问题根因

当前脚本报错的核心原因是sudo配合--user参数的安装逻辑和EMR集群的运行用户权限不匹配:

  • --user参数会将Python包安装到执行命令的用户的私有家目录下,使用sudo执行时,包只会被安装到root用户的私有目录
  • EMR集群上作业运行时默认使用hadoop、yarn等普通用户执行,无法读取root用户家目录下的Python包,因此会触发模块找不到的报错

所需调整项

  • 移除pip install命令后的--user参数,让依赖全局安装,所有集群用户都可访问
  • 明确指定pip版本为pip3,避免EMR默认环境中pip指向Python2导致的包安装版本错位问题
  • 提前安装Python依赖编译所需的系统基础依赖,避免great_expectations安装过程中编译失败

修改后的脚本

#!/bin/bash
# 先安装系统层面的编译依赖
sudo yum install -y python3-devel gcc gcc-c++
# 升级setuptools
sudo pip3 install --upgrade setuptools
# 全局安装所有Python依赖
sudo pip3 install \
  pandas==0.25.1         \
  awscli                 \
  boto3                  \
  great_expectations

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:27:04