从 Spark 1.5.2/1.6.2 连接到 Vertica 7.0.1

Connect to Vertica 7.0.1 from Spark 1.5.2/1.6.2

我正在尝试从 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()

我低于错误-

Exception in thread "main" java.lang.ClassNotFoundException: Failed to find data source: com.vertica.spark.datasource.DefaultSource. Please find packages at 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) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:119) at com.ConnectToVertica$.main(ConnectToVertica.scala:32) at com.ConnectToVertica.main(ConnectToVertica.scala)

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

您似乎还没有在 class 路径中添加 jar 文件。从下面 url 下载 jar,添加到 class 路径并尝试相同的方法。

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

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