为啥我的“org.apache.spark.sql”下面没有“SparkSession”[重复]
Posted
技术标签:
【中文标题】为啥我的“org.apache.spark.sql”下面没有“SparkSession”[重复]【英文标题】:Why no 'SparkSession' below my 'org.apache.spark.sql' [duplicate]为什么我的“org.apache.spark.sql”下面没有“SparkSession”[重复] 【发布时间】:2019-07-24 05:07:02 【问题描述】:我使用 IDEA 和 SBT 在我的 MAC 中创建一个项目。想用SparkSession的时候,只能在spark.sql
下面找到catalyst
。
我尝试了有关 Scala 和 spark 的不同版本,但它不起作用。
import org.apache.spark.sql.SparkSession
import org.apache.spark.SparkContext
object App
def main(args : Array[String])
val spark = SparkSession
.builder()
.appName("GitHub push counter")
.master("local[*]")
.getOrCreate()
val sc = spark.SparkContext()
第一行 org.apache.spark.sql.SparkSession
在 IDEA 中是红色的。
下面是项目中的build.sbt
:
name := "SparkExample"
version := "0.1"
scalaVersion := "2.12.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.4.2"
我没有配置 Hadoop,因为我只想在本地运行它并做一些练习。我希望你能帮助我。
【问题讨论】:
你还需要spark-sql
SparkSession 的依赖为 libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.4.2"
他正在使用 SBT。这是同一个问题,但你不能指望人们能辨别出这样的巨大差异。有时你只需要看一个例子
非常感谢。我是该领域的菜鸟,以前从未使用过 SBT 和 Maven。但现在我觉得我学到了很多。
【参考方案1】:
你也应该添加 spark-sql
val sparkVersion = "2.4.2"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % sparkVersion,
"org.apache.spark" %% "spark-sql" % sparkVersion
)
【讨论】:
以上是关于为啥我的“org.apache.spark.sql”下面没有“SparkSession”[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Spark SQL 查询:org.apache.spark.sql.AnalysisException
无法导入 org.apache.spark.sql.cassandra.CassandraSQLContext
org.apache.spark.sql.AnalysisException:无法解析“S.SID”
在 spark 数据框中运行 UDF 时,不支持获取 org.apache.spark.sql.Column 类型的架构
类型不匹配;找到:org.apache.spark.sql.DataFrame 需要:org.apache.spark.rdd.RDD