我正在尝试从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也得到了同样的错误。
答案 0 :(得分:0)
看起来您还没有在类路径中添加jar文件。从下面的url下载jar,添加到类路径并尝试相同。
https://www.qzhou.com.cn/user/bdy/3477137749
我有时会遇到同样的问题,我无法找到hpe-spark连接器。希望这会有所帮助