我在spark-env.sh中使用Ambari设置了PYSPARK_PYTHON=python3,当我在命令行上尝试'pyspark'时,它会在Python 3.4.3中运行。但是,当我使用Yarn集群模式提交作业时,它会在Python 2.7.9中运行。如何使它使用Python 3?
2wnc66cl1#
你需要给予python 3的完整路径,比如:
subprocess.call(['export PYSPARK_PYTHON=/usr/local/bin/python2.7'],shell=True)
字符串
mdfafbf12#
的数据
Python中的RDD转换Map到Java中的PythonRDD对象上的转换。在远程工作机器上,*PythonRDD对象启动Python子进程并使用管道与它们通信,发送用户代码和要处理的数据 *。
在创建Spark会话之前,使用Python中的环境变量,就像下面的示例片段一样:
from pyspark.sql import SparkSession os.environ['PYSPARK_PYTHON'] = sys.executable os.environ['PYSPARK_DRIVER_PYTHON'] = sys.executable # Initialize Spark session spark = SparkSession.builder \ .appName("String to CSV") \ .getOrCreate()
2条答案
按热度按时间2wnc66cl1#
你需要给予python 3的完整路径,比如:
字符串
mdfafbf12#
的数据
Python中的RDD转换Map到Java中的PythonRDD对象上的转换。在远程工作机器上,*PythonRDD对象启动Python子进程并使用管道与它们通信,发送用户代码和要处理的数据 *。
在创建Spark会话之前,使用Python中的环境变量,就像下面的示例片段一样:
字符串