我在纱线模式上使用火花,运行时遇到问题
pyspark --master yarn
的
在python3.5下,当我运行这样的代码
user_data = sc.textFile("/testdata/u.user")
user_fields = user_data.map(lambda line: line.split("|"))
num_genders = user_fields.map(lambda fields: fields[2]).distinct().count()
结果显示
File "/data/opt/spark-2.1.0-bin-hadoop2.6/python/pyspark/rdd.py", line 1753, in add_shuffle_key
File "/data/opt/hadoop-2.6.0/tmp/nm-local-dir/usercache/jsdxadm/appcache/application_1494985561557_0005/container_1494985561557_0005_01_000002/pyspark.zip/pyspark/rdd.py", line 74, in portable_hash
raise Exception("Randomness of hash of string should be disabled via PYTHONHASHSEED environ=")
我尝试但无法解决,你能帮助我吗?
答案 0 :(得分:2)
在spark.executorEnv.PYTHONHASHSEED 0
(在您的Spark ./conf目录中)中包含spark-defaults.conf
。这应该有效!
答案 1 :(得分:1)
这是Spark 2.1中的问题,已在2.2中解决。如果您无法升级或无法访问spark-defaults.conf,则可以使用
export SPARK_YARN_USER_ENV=PYTHONHASHSEED=0
在你提交工作之前。