Jupyter + EMR + Spark - подключение к кластеру EMR из ноутбука Jupyter на локальном компьютере

Я новичок в PySpark и EMR.
Я пытаюсь получить доступ к Spark, работающему в кластере EMR, через ноутбук Jupyter, но возникают ошибки.

Я создаю SparkSession, используя следующий код:

spark = SparkSession.builder \
    .master("local[*]")\
    .appName("Carbon - SingleWell parallelization on Spark")\
    .getOrCreate()

Пытался получить доступ к удаленному кластеру, но с ошибкой:

spark = SparkSession.builder \
    .master("spark://<remote-emr-ec2-hostname>:7077")\
    .appName("Carbon - SingleWell parallelization on Spark")\
    .getOrCreate()

Ошибка:

Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.
: java.lang.NullPointerException
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:567)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

Любая помощь в разрешении этого вопроса будет принята с благодарностью.


person kn_pavan    schedule 28.06.2017    source источник


Ответы (1)


Кластеры EMR имеют Jupyter и JupyterHub, предоставленные для вас начиная с версии EMR 5.14. 0.

Скорее всего, проще настроить эти подготовленные службы с помощью некоторых дополнительных действий начальной загрузки, а не подключать локальный процесс для взаимодействия с главным узлом EMR.

person Anton Kraievyi    schedule 19.06.2018