bash shell 中运行 spark-shell --packages "graphframes:graphframes:0.7.0-spark2.4-s_2.11"
可以工作,我可以成功导入 graphframe 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 命令,但仍然找不到检索到的包。
我正在运行火花 scala 内核的 EMR 笔记本上执行此操作。
我是否必须在 jupyter 环境中设置某种火花库路径?
这根本行不通。你的代码所做的只是简单地尝试启动一个新的独立 Spark shell。此外,Spark 包必须在首次初始化SparkContext
时加载。
您应该添加(假设这些是正确的版本(
spark.jars.packages graphframes:graphframes:0.7.0-spark2.4-s_2.11
到您的 Spark 配置文件,或在初始化之前在 SparkConf
/SparkSessionBuilder.config
中使用等效SparkSession
。