2016-11-30 4 views
1

В искровом кластере Dataproc графический пакет доступен в искровой оболочке, но не в ноутбуке jupyter pyspark.Dataproc: Jupyter pyspark ноутбук не может импортировать пакет графических карт

Pyspark конфигурации ядра:

PACKAGES_ARG='--packages graphframes:graphframes:0.2.0-spark2.0-s_2.11' 

Ниже приводится CMD для инициализации кластера:

gcloud dataproc clusters create my-dataproc-cluster --properties spark.jars.packages=com.databricks:graphframes:graphframes:0.2.0-spark2.0-s_2.11 --metadata "JUPYTER_PORT=8124,INIT_ACTIONS_REPO=https://github.com/{xyz}/dataproc-initialization-actions.git" --initialization-actions gs://dataproc-initialization-actions/jupyter/jupyter.sh --num-workers 2 --properties spark:spark.executorEnv.PYTHONHASHSEED=0,spark:spark.yarn.am.memory=1024m  --worker-machine-type=n1-standard-4 --master-machine-type=n1-standard-4 

ответ

3

Это старая ошибка с искровым оболочек и ПРЯЖИ, что я думал, что было зафиксировано в SPARK-15782, но очевидно, этот случай был упущен.

Предлагаемый обходной добавляет

import os 
sc.addPyFile(os.path.expanduser('~/.ivy2/jars/graphframes_graphframes-0.2.0-spark2.0-s_2.11.jar')) 

до вашего импорта.

0

Я нашел еще один способ сделать добавление пакетов, которая работает на ноутбуке Jupyter:

spark = SparkSession.builder \ 
.appName("Python Spark SQL") \ \ 
.config("spark.jars.packages", "graphframes:graphframes:0.5.0-spark2.1-s_2.11") \ 
.getOrCreate()