私はAmazon EMRクラスタでpysparkを実行しています。私は火花提出python2.7環境でを使用して、このスクリプトを実行すると、私は、...私は火花提出を使ってS3にデータを書き込むことができるかどうかを確認するためにpyspark saveAsTextFileはPython 2.7では動作しますが、3.4では動作しません
from pyspark import SparkContext
sc = SparkContext()
numbers = sc.parallelize(range(100))
numbers.saveAsTextFile("s3n://my-bucket/test.txt")
sc.stop()
を非常に簡単なテストスクリプトを持っているそれだけで正常に動作します。しかし、私はpython3.4環境で同じスクリプトを実行しようとすると、私は以下のトレースバックを得る...
Caused by: org.apache.spark.api.python.PythonException: Traceback (most recent call last):
File ".../pyspark/worker.py", line 161, in main
func, profiler, deserializer, serializer = read_command(pickleSer, infile)
File ".../pyspark/worker.py", line 54, in read_command
command = serializer._read_with_length(file)
File ".../pyspark/serializers.py", line 164, in _read_with_length
return self.loads(obj)
File ".../pyspark/serializers.py", line 419, in loads
return pickle.loads(obj, encoding=encoding)
AttributeError: Can't get attribute 'unicode' on <module 'builtins' (built-in)>
私はcondaを使用して、私のPython環境を操作し、PYSPARK_PYTHON
とPYSPARK_DRIVER_PYTHON
変数を設定することです。
python 3にsaveAsTextFile
を使用して問題がありますか?あるいは、私は私のpython 3環境を設定するステップを逃していますか?
ありがとうございます!
ご返信ありがとうございます。 '' a '、' b '、' c '、' d '' 'に' range(100) 'を置き換え、' 'PYSPARK_PYTHON":/ usr/bin/python3 "'残念ながら私はまだ同じエラーが発生しています。 –