对象SQL不是Package org.apache.spark的成员



我正在尝试与Spark-SQL一起工作,但是当我导入

import org.apache.spark.sql.{Row, SparkSession}

获取以下错误:

object sql is not a member of package org.apache.spark

这是我的详细信息:

火花版本:1.6.2Scala版本:2.11.8SBT版本:0.13.16

这是我的build.sbt文件:

name := "sbt_demo"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.6.2"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.6.2"

注意:在堆栈溢出中还有另一个问题,但这被接受的答案对我没有帮助。这就是我再次问的原因。

我有相同的问题,这是我的build.sbt文件

name := "rec"
version := "0.1"
scalaVersion := "2.11.12"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.0"

有人说下面的命令将起作用

sbt reload package    
sbt update 
sbt reload

,但这对我不起作用。因此,我删除了.idea文件并重新插入build.sbt文件中的所有内容,并且对我来说很好

SBT您可以使用

"org.apache.spark" %% "spark-sql" % "1.6.2" % "provided",

用于Maven

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.10</artifactId>
        <version>1.6.2</version>
    </dependency>

在创建数据框架时,请在以下导入之前使用以下导入。内部代码

import sqlContext.implicits._
val df = sqlContext.createDataFrame(rows, schema)

您需要在sbt的分辨率中进行Maven Central。如果在代理后面,请正确设置您的代理人

另外,在Spark 1.6.2中,没有SparkSession ...您应该使用SQLContext,或移至2.x

最新更新