2017-01-02 114 views
0

我试图构建一个spark应用程序来访问hana vora内容。如何在build.sbt中包含sap hana vora外部jar

我的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) 

} 
} 

我想包括在我的体型第三方罐子 “火花SAP-数据源-1.2.33-assembly.jar”。我试过SBT包,SBT装配

我用下面的build.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斯卡拉源到本地/文件/位置/目标/斯卡拉-2.10 /类... [错误]坏的符号引用。 ExtendableSQLContext.class中的签名指的是包org.apache.spark.sql中的SQLContext [错误],它不可用。 [error]它可能完全从当前类路径丢失,或 上的版本[错误]类路径可能与编译ExtendableSQLContext.class时使用的版本不兼容。

如何克服这个错误。我对scala,sbt,spark和vora是新手。

回答

1

您可能忽略这种相关性:

"org.apache.spark" % "spark-sql_2.11" % "1.5.1"

+0

感谢。它帮助了我。 – Subramanian

0

是,实际的文件路径?它看起来不寻常的,我...

文件:///local/file/loc/lib/spark-sap-datasources-1.2.33-assembly.jar

+0

我必须更改build.sbt以将其包含在胖罐中 – Subramanian

相关问题