【问题标题】:Change Python version Livy uses in an EMR cluster更改 Livy 在 EMR 集群中使用的 Python 版本
【发布时间】:2021-07-26 07:13:34
【问题描述】:

我知道Change Apache Livy's Python VersionHow do i setup Pyspark in Python 3 with spark-env.sh.template

我也看过Livy documentation

但是,这些都不起作用。 Livy 继续使用 Python 2.7无论如何

这是在 EMR 集群上运行 Livy 0.6.0。

  • 我已将hadoop用户、我的用户、root和ec2-user中的PYSPARK_PYTHON环境变量更改为/usr/bin/python3。通过ssh 登录EMR 主节点并运行pyspark 按预期启动python3。但是,Livy 一直在使用 python2.7。

  • 我将export PYSPARK_PYTHON=/usr/bin/python3 添加到/etc/spark/conf/spark-env.sh 文件中。 Livy 一直在使用 python2.7。

  • 我将"spark.yarn.appMasterEnv.PYSPARK_PYTHON":"/usr/bin/python3""spark.executorEnv.PYSPARK_PYTHON":"/usr/bin/python3" 添加到下面列出的所有项目中。 Livy 一直在使用 python2.7。

    • sparkmagic config.jsonconfig_other_settings.json 文件在启动 PySpark 内核 Jupyter 之前
    • sparkmagic %manage_spark Jupyter 小部件中的会话属性。 Livy 一直在使用 python2.7。
    • %%spark config cell-magic 之前的 line-magic %spark add --session test --url http://X.X.X.X:8998 --auth None --language python

注意:这在另一个运行 Livy 0.7.0 的 EMR 集群中没有任何问题 我已经检查了另一个集群上的所有设置,但找不到不同之处。我不必在其他集群上做任何这些,Livy 默认使用 python3。

我究竟如何让 Livy 使用 python3 而不是 python2?

【问题讨论】:

    标签: pyspark amazon-emr livy


    【解决方案1】:

    发帖后终于找到答案了。

    在运行任何代码以通过 Livy 在远程 EMR 集群上启动 PySpark 会话之前,我在 PySpark 内核 Jupyter 会话单元中运行了以下命令。

    %%configure -f
    { "conf":{
              "spark.pyspark.python": "python3"
             }
    }
    

    只需将 "spark.pyspark.python": "python3" 添加到 .sparkmagic config.json 或 config_other_settings.json 也可以。

    令人困惑的是,这与 Livy 官方文档不符。

    【讨论】:

      猜你喜欢
      • 2023-01-29
      • 2019-04-23
      • 1970-01-01
      • 2020-02-19
      • 2022-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多