python-3.x - aws EMR 版本 5.23.0 是否支持 python 版本 3.7.x?
问题描述
目前我们正在使用 EMR 版本 5.23.0 来提交我们的 pyspark 作业。我们想将 python 版本升级到 3.7,并想检查当前 EMR 版本 5.23.0 是否支持 python 3.7。AWS 上没有关于版本兼容性的官方信息。谁能帮我找出这些信息
解决方案
目前EMR自带python v3.6.x
但我建议不要替换 python v3.6.x。在引导期间安装miniconda。Miniconda 可以让您自由选择 python 版本。
使用conda install <library-name>
. 但是不要安装pyspark
,它已经存在所有配置。单独安装 pyspark 会导致配置问题。
您还可以创建自己的 AMI,并预先安装所有内容。这将减少您的引导时间。
对于pyspark shell: 添加这 2 个环境变量
export PYSPARK_DRIVER_PYTHON=/<path-miniconda-home>/bin/python
export PYSPARK_PYTHON=/<path-miniconda-home>/bin/python
对于spark-submit: 添加这些配置
--conf spark.executorEnv.PYSPARK_DRIVER_PYTHON=/<path-miniconda-home>/bin/python
--conf spark.executorEnv.PYSPARK_PYTHON=/<path-miniconda-home>/bin/python
--conf spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON=/<path-miniconda-home>/bin/python
--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=/<path-miniconda-home>/bin/python
推荐阅读
- python - 从 QWebEngineView 获取 PDF 文件的链接
- istio - ISTIO 1.9.5 - 如何在 istio 发生本地配置更改时发送通知
- javascript - 导入 sweetalert:“未捕获的 SyntaxError:无法在模块外使用 import 语句”
- ios - 如何在 Swift 中显示 IPFS 图像
- unity3d - 在 Admob 中使用广告中介时无法检索 Unity 广告的数据
- gnupg - gpg 2.2.12 在导入密钥失败时的退出代码与 2.2.4 不同
- node.js - 缺少 Cloudfront 提供的错误密钥对 ID
- php - 如何将链接转换为 seo 友好的链接?
- javascript - 如果其他情况下,如何使用 html/javascript 复选框函数链接 python
- php - ajax 函数 .done 和 .fail,无值返回