【问题标题】:Spark query sql serverSpark查询sql服务器
【发布时间】:2019-03-04 20:29:07
【问题描述】:

我正在尝试使用 Spark/scala 查询 SQL 服务器并遇到问题

这里是代码

import org.apache.spark.SparkContext


object temp {  
  def main(args: Array[String]) {

val conf = new SparkConf().setAppName("temp").setMaster("local")
val sc = new SparkContext(conf)
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val jdbcSqlConnStr = "jdbc:sqlserver://XXX.XXX.XXX.XXX;databaseName=test;user=XX;password=XXXXXXX;"
val jdbcDbTable = "[test].dbo.[Persons]"
val jdbcDF = sqlContext.read.format("jdbc").options(
Map("url" -> jdbcSqlConnStr,
"dbtable" -> jdbcDbTable)).load()
jdbcDF.show(10)
println("Complete")
  }
}

下面是错误,我认为它在抱怨主要方法 - 但为什么?如何解决它。 错误: 线程“主”java.lang.NoSuchMethodError 中的异常:scala.runtime.ObjectRef.create(Ljava/lang/Object;)Lscala/runtime/ObjectRef; 在 org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:888) 在 org.apache.spark.sql.SQLContext.(SQLContext.scala:70) 在 apachetika.temp$.main(sqltemp.scala:24) 在 apachetika.temp.main(sqltemp.scala) 18/09/28 16:04:40 INFO spark.SparkContext: 从关机钩子调用 stop()

【问题讨论】:

    标签: sql-server scala apache-spark jdbc


    【解决方案1】:

    据我所知,这是由于 scala 版本不匹配

    使用 spark_core 依赖编译的库使用 scala 2.11 而不是 scala 2.10。使用 scala 2.11.8+。

    希望这会有所帮助。

    【讨论】:

    • 谢谢,但这没有影响。我能够在相同的编译器设置中成功运行其他代码
    猜你喜欢
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 2014-07-10
    相关资源
    最近更新 更多