从Spark 1.5.2 / 1.6.2连接到Vertica 7.0.1

时间:2017-09-25 01:42:59

标签: scala apache-spark vertica

我正在尝试从spark连接到vertica。以下是我的代码:

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。请在http://spark-packages.org找到套餐       at org.apache.spark.sql.execution.datasources.ResolvedDataSource $ .lookupDataSource(ResolvedDataSource.scala:77)       at org.apache.spark.sql.execution.datasources.ResolvedDataSource $ .apply(ResolvedDataSource.scala:102)       在org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:119)       在com.ConnectToVertica $ .main(ConnectToVertica.scala:32)       在com.ConnectToVertica.main(ConnectToVertica.scala)

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

1 个答案:

答案 0 :(得分:0)

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

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

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