我试图从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也得到相同的错误。
它添加罐后工作。谢谢很多。 –