这是一个非常棒的问题.
我正在尝试了解SparkSQL.我一直在关注这里描述的例子:http: //spark.apache.org/docs/1.0.0/sql-programming-guide.html
在Spark-shell中一切正常,但是当我尝试使用sbt构建批处理版本时,我收到以下错误消息:
object sql is not a member of package org.apache.spark
不幸的是,我对sbt很新,所以我不知道如何纠正这个问题.我怀疑我需要包含其他依赖项,但我无法弄清楚如何.
这是我正在尝试编译的代码:
/* TestApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
case class Record(k: Int, v: String)
object TestApp {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Simple Application")
val sc = new SparkContext(conf)
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext._
val data = sc.parallelize(1 to 100000)
val records = data.map(i => new Record(i, "value = "+i))
val table = createSchemaRDD(records, Record)
println(">>> " + table.count)
}
}
Run Code Online (Sandbox Code Playgroud)
在我尝试创建SQLContext的行上标记错误.
这是sbt文件的内容:
name := "Test Project"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.0"
resolvers += "Akka Repository" at "http://repo.akka.io/releases/"
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
Bil*_*l_L 31
通常情况下,提问的行为帮助我找到了答案.答案是在sbt文件中添加以下行.
libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.0.0"
Run Code Online (Sandbox Code Playgroud)
我也意识到上面的小程序还有一个问题.createSchemaRDD调用中有太多参数.该行应如下所示:
val table = createSchemaRDD(records)
Run Code Online (Sandbox Code Playgroud)
谢谢!我在Maven中构建Scala应用程序时遇到了类似的问题.根据您对SBT所做的操作,我添加了相应的Maven依赖项,如下所示,现在我可以编译并生成jar文件.
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>1.2.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18401 次 |
最近记录: |