EMR Notebook Scala内核导入图框库

时间:2019-02-12 17:18:20

标签: scala apache-spark jupyter-notebook graphframes

在bash shell中运行spark-shell --packages "graphframes:graphframes:0.7.0-spark2.4-s_2.11"可以正常工作,并且我可以成功导入图框0.7,但是当我尝试在像这样的scala jupyter笔记本中使用它时:

import scala.sys.process._
"spark-shell --packages \"graphframes:graphframes:0.7.0-spark2.4-s_2.11\""!
import org.graphframes._

给出错误消息:

<console>:53: error: object graphframes is not a member of package org
   import org.graphframes._

据我所知,这意味着它运行bash命令,但仍然找不到所检索的软件包。

我正在运行spark scala内核的EMR Notebook上执行此操作。

我是否必须在jupyter环境中设置某种Spark库路径?

1 个答案:

答案 0 :(得分:0)

那根本行不通。您的代码所做的只是简单地尝试启动新的独立Spark Shell。此外,首次初始化SparkContext时必须加载Spark软件包。

您应该添加(假设这些是正确的版本)

spark.jars.packages graphframes:graphframes:0.7.0-spark2.4-s_2.11

到您的Spark配置文件,或在SparkConf初始化之前在SparkSessionBuilder.config / SparkSession中使用等效项。