1. ホーム
  2. apache-spark

[解決済み] spark 2.4.4 をインストールした後に pyspark を実行しようとすると、「TypeError: an integer is required (got type bytes)」というエラーが発生するのを修正する方法

2022-02-11 10:43:02

質問

OpenJDK 13.0.1とpython 3.8とspark 2.4.4がインストールされました。 インストールをテストするための指示は、sparkインストールのルートから. \pysparkを実行することです。 私は、いくつかの環境変数を設定するような、sparkのインストールでステップを見逃したかどうかはわからないが、私はさらに詳細な指示を見つけることができない。

私のマシンではpythonインタプリタを実行できるので、正しくインストールされていると確信していますし、"java -version"を実行しても期待通りの応答が得られるので、問題はそのどちらにもないと思います。

cloudpickly.pyからエラーのスタックトレースが表示されるのですが。

Traceback (most recent call last):
  File "C:\software\spark-2.4.4-bin-hadoop2.7\bin\..\python\pyspark\shell.py", line 31, in <module>
    from pyspark import SparkConf
  File "C:\software\spark-2.4.4-bin-hadoop2.7\python\pyspark\__init__.py", line 51, in <module>
    from pyspark.context import SparkContext
  File "C:\software\spark-2.4.4-bin-hadoop2.7\python\pyspark\context.py", line 31, in <module>
    from pyspark import accumulators
  File "C:\software\spark-2.4.4-bin-hadoop2.7\python\pyspark\accumulators.py", line 97, in <module>
    from pyspark.serializers import read_int, PickleSerializer
  File "C:\software\spark-2.4.4-bin-hadoop2.7\python\pyspark\serializers.py", line 71, in <module>
    from pyspark import cloudpickle
  File "C:\software\spark-2.4.4-bin-hadoop2.7\python\pyspark\cloudpickle.py", line 145, in <module>
    _cell_set_template_code = _make_cell_set_template_code()
  File "C:\software\spark-2.4.4-bin-hadoop2.7\python\pyspark\cloudpickle.py", line 126, in _make_cell_set_template_code
    return types.CodeType(
TypeError: an integer is required (got type bytes)

解決方法は?

この現象は、あなたがpython 3.8を使用しているために起こっています。pysparkの最新のpipリリース(執筆時点ではpyspark 2.4.4)は、python 3.8をサポートしていません。今のところ、python 3.7にダウングレードすれば問題ないでしょう。