Я использовал EMR Jupyter для разработки в PySpark на кластере в Amazon EMR. Я использую версию Spark 2.4.4. До сегодняшнего дня я не заметил, что я использовал Python 2.7 в качестве базовой версии. Поэтому я изменил версию python на 3.6.8, используя следующую команду:
alternatives --set python /usr/bin/python3.6
Когда я перезапустил оболочку pyspark из CLI в главном узле, он показал python 3.6.8 и я мог бы работать с этим там. Но когда я пытался импортировать SparkSession в записную книжку, он выдавал ошибку следующим образом:
The code failed because of a fatal error:
Neither SparkSession nor HiveContext/SqlContext is available..
Some things to try:
a) Make sure Spark has enough available resources for Jupyter to create a Spark context.
b) Contact your Jupyter administrator to make sure the Spark magics library is configured correctly.
c) Restart the kernel.
Я пробовал много вещей и, наконец, когда я изменил свою версию python обратно на 2.7, используя alternatives --set python /usr/bin/python2.7
, проблема решена.
Я бы хотел поработать с python 3.6 или новее.
Почему это происходит? Как это можно решить?