在bash shell中运行spark-shell --packages "graphframes:graphframes:0.7.0-spark2.4-s_2.11"
工作,我可以成功导入graphframes 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库路径?
这根本不应该奏效。您的代码所做的只是尝试启动一个新的独立Spark shell。此外,当SparkContext
首次初始化时,必须加载Spark包。
您应该添加(假设这些是正确的版本)
spark.jars.packages graphframes:graphframes:0.7.0-spark2.4-s_2.11
在您的Spark配置文件中,或者在SparkConf
初始化之前使用SparkSessionBuilder.config
/ SparkSession
中的等效文件。