2017-09-25 74 views
1

我试图从spark中连接到vertica。下面是我的代码:从Spark 1.5.2/1.6.2连接到Vertica 7.0.1

val opt = Map("host" -> host , "table" -> table , "db" -> db , "numPartitions" -> partitions , "user" -> user , "password" -> pswd) 
val df1 = sqlContext.read.format("com.vertica.spark.datasource.DefaultSource").options(opt).load() 
df1.show() 

我得到以下错误 -

异常线程 “main” 抛出java.lang.ClassNotFoundException:无法找到数据源:com.vertica.spark.datasource。 DefaultSource。请在位于org.apache.spark.sql.execution.datasources.ResolvedDataSource $ .apply(ResolvedDataSource)处的org.apache.spark.sql.execution.datasources.ResolvedDataSource $ .lookupDataSource(ResolvedDataSource.scala:77) 处找到包含以下内容的软件包:http://spark-packages.org .scala:102) 在org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:119) 在com.ConnectToVertica $。主要(ConnectToVertica.scala:32) 在com.ConnectToVertica.main(ConnectToVertica。 scala)

我检查了错误中指出的软件包(http://spark-packages.org),但没有找到Vertica的任何软件包。如果我使用spark-submit通过传递适用于Vertica的jar来执行相同的代码,那么它的工作正常,但是直接从IDE给我这个错误。我尝试使用spark 1.6.2也得到相同的错误。

回答

0

看起来你没有在你的类路径中添加jar文件。从下面的URL下载jar,添加到类路径并尝试相同。

https://www.qzhou.com.cn/user/bdy/3477137749 

我是面临同样的问题有时回到我无法找到hpe-spark连接器。希望这会有所帮助

+0

它添加罐后工作。谢谢很多。 –