ENV:星火1.6使用Scala,Cloudera的
SQL Server 2012中,11.0版從Spark Scala查詢SQL Server - 如何?
我試圖從星火查詢SQLServer的。
object ConnTest extends App {
val conf = new SparkConf()
val sc = new SparkContext(conf.setAppName("Spark Ingestion").setMaster("local[*]"))
val sqlcontext = new SQLContext(sc)
val prop=new Properties()
val url2="jdbc:sqlserver://xxx.xxx.xxx:1511;user=username;password=mypassword;database=SessionMonitor"
prop.setProperty("user","username")
prop.setProperty("password","mypassword")
val test=sqlcontext.read.jdbc(url2,"Service",prop)
val dd = sqlcontext.sql("select count(*) as TOT from Service")
dd.foreach(println)
}
我prom.xml有dependencies-
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>
我沒有下載任何jar文件;不要將jar安裝到Maven倉庫或者沒有jar到類路徑。我的Hadoop集羣沒有連接到互聯網。創建maven的包後,我嘗試使用提交
spark-submit --class ConnTest /Hadoopshare/tmp/sqldb-1.0-SNAPSHOT.jar
錯誤:
Exception in thread "main" java.sql.SQLException: No suitable driver
感謝
侯賽因
由於您的羣集沒有互聯網連接來下載jar,因此您需要使用依賴項(mssql-jdbc)構建jar。或者你可以將這個罐子移動到你的集羣並做maven安裝 – mrsrinivas