在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库路径?
答案 0 :(得分:0)
那根本行不通。您的代码所做的只是简单地尝试启动新的独立Spark Shell。此外,首次初始化SparkContext
时必须加载Spark软件包。
您应该添加(假设这些是正确的版本)
spark.jars.packages graphframes:graphframes:0.7.0-spark2.4-s_2.11
到您的Spark配置文件,或在SparkConf
初始化之前在SparkSessionBuilder.config
/ SparkSession
中使用等效项。