应通过 PYTHONHASHSEED 禁用字符串散列的随机性
Randomness of hash of string should be disabled via PYTHONHASHSEED
我在 yarn 模式下使用 spark,运行 时出现问题
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=")
我试了还是解决不了,你能帮帮我吗
在您的 spark-defaults.conf
中包含 spark.executorEnv.PYTHONHASHSEED 0
(在您的 Spark ./conf 目录中)。那应该有用!
这是 Spark 2.1 中的问题,已在 2.2 中解决。如果您无法升级或无法访问 spark-defaults.conf,您可以使用
export SPARK_YARN_USER_ENV=PYTHONHASHSEED=0
在您提交作业之前。
我在 yarn 模式下使用 spark,运行 时出现问题
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=")
我试了还是解决不了,你能帮帮我吗
在您的 spark-defaults.conf
中包含 spark.executorEnv.PYTHONHASHSEED 0
(在您的 Spark ./conf 目录中)。那应该有用!
这是 Spark 2.1 中的问题,已在 2.2 中解决。如果您无法升级或无法访问 spark-defaults.conf,您可以使用
export SPARK_YARN_USER_ENV=PYTHONHASHSEED=0
在您提交作业之前。