Pyspark 更改Livy在EMR集群中使用的Python版本

Pyspark 更改Livy在EMR集群中使用的Python版本,pyspark,amazon-emr,livy,Pyspark,Amazon Emr,Livy,我意识到了这一点 我也看到了 然而,这些都不起作用。无论发生什么情况,Livy都会继续使用Python 2.7 这是在EMR集群上运行Livy 0.6.0 我已将hadoop用户、我的用户、root用户和ec2用户中的PYSPARK\u PYTHON环境变量更改为/usr/bin/python3。通过ssh登录EMR主节点并运行pyspark将按预期启动python3。但是,Livy一直在使用python2.7 我在/etc/spark/conf/spark env.sh文件中添加了expo

我意识到了这一点

我也看到了

然而,这些都不起作用。无论发生什么情况,Livy都会继续使用Python 2.7

这是在EMR集群上运行Livy 0.6.0

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

  • 我在
    /etc/spark/conf/spark env.sh
    文件中添加了
    export-PYSPARK\u-PYTHON=/usr/bin/python3
    。利维一直在用蟒蛇2.7

  • 我将
    “spark.warn.appMasterEnv.PYSPARK_PYTHON”:“/usr/bin/python3”
    “spark.executorEnv.PYSPARK_PYTHON”:“/usr/bin/python3”
    添加到下面列出的项目中。利维一直在用蟒蛇2.7

    • 在启动PySpark内核Jupyter之前,sparkmagic
      config.json
      config\u other\u settings.json
      文件
    • sparkmagic
      %manage\u spark
      Jupyter小部件中的会话属性。利维一直在用蟒蛇2.7
    • %%spark config
      行魔术之前的单元格魔术
      %spark add--会话测试--urlhttp://X.X.X.X:8998 --auth None——python语言
注意:在运行Livy 0.7.0的另一个EMR集群中,这项功能不会出现任何问题我已经检查了另一个集群上的所有设置,但找不到不同之处。我不必在另一个集群上执行任何操作,Livy只是默认使用python3


我怎样才能让Livy使用python3而不是python2呢?

发布后终于找到了答案

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

%%configure -f
{ "conf":{
          "spark.pyspark.python": "python3"
         }
}
只需添加
“spark.pyspark.python”:“python3”
到.sparkmagic
config.json
config\u其他设置。json
也起作用

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