我正在尝试构建一个Spark应用程序来访问hana vora内容。
我的 scala 代码是
import org.apache.spark.sql._
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object Vora_Test{
def main(args: Array[String]) {
val sconf = new SparkConf().setAppName("VoraTestApp")
val sc = new SparkContext(sconf)
val sqlc = new SapSQLContext(sc)
val queryResult = sqlc.sql("SELECT * from DATA")
queryResult.collect().foreach(println)
}
}
我想在我的构建中包含第三方jar"spark-sap-datasources-1.2.33-assembly.jar"。 我尝试了 sbt 包,sbt 组装
我使用了以下构建.sbt
name := "VoraApp"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies ++= Seq("org.apache.spark" %% "spark-core" % "1.5.2",
"com.sap.spark" % "extensiondist" % "1.2.37" from "file:///local/file/loc/lib/spark-sap-datasources-1.2.33-assembly.jar")
什么都没用。 我收到以下错误
将 1 个 Scala 源代码编译为本地/文件/loc/target/scala-2.10/classes...[错误] 错误的符号引用。ExtendableSQLContext中的签名.class是指类型SQLContext[错误] 在包 org.apache.spark 中.sql不可用。[错误]当前类路径或[错误] 类路径可能与编译 ExtendableSQLContext.class 时使用的版本不兼容。
如何克服此错误。 我是 scala、sbt、spark 和 vora 的新手。
您可能缺少此依赖项:
"org.apache.spark" % "spark-sql_2.11" % "1.5.1"
这是文件的实际路径吗?这对我来说看起来很不寻常...
file:///local/file/loc/lib/spark-sap-datasources-1.2.33-assembly.jar