Eclipse 什么是sqlContext的库依赖关系?

Eclipse 什么是sqlContext的库依赖关系?,eclipse,scala,maven,apache-spark,jdbc,Eclipse,Scala,Maven,Apache Spark,Jdbc,详情如下:--- 我们有spark环境1.6.1,Scala版本2.10.5(OpenJDK 64位服务器虚拟机,Java 1.8.077) 我制作了一个可运行的jar,其“库处理”选项为“将所需库提取到生成的jar中”。 我在spark环境中执行了jar,其中包含以下spark提交选项 spark提交——类spark\u sqlserver\u Conn.jar——主线程 我在Stackoverflow内外做了一些研究,并找到了解决方案,但它们对我不起作用 那么,我想配置的正确的maven依赖

详情如下:---

我们有spark环境1.6.1,Scala版本2.10.5(OpenJDK 64位服务器虚拟机,Java 1.8.077)

我制作了一个可运行的jar,其“库处理”选项为“将所需库提取到生成的jar中”。 我在spark环境中执行了jar,其中包含以下spark提交选项

spark提交——类spark\u sqlserver\u Conn.jar——主线程

我在Stackoverflow内外做了一些研究,并找到了解决方案,但它们对我不起作用

那么,我想配置的正确的maven依赖项是什么

我还得到如下错误:- 线程“main”中的java.sql.SQLException:没有合适的驱动程序

    package spark_sqlserver.tblcreation

            import java.util.Properties
            import java.sql.DriverManager
            import java.sql.Connection
            import org.apache.spark.SparkContext
            import org.apache.spark.SparkConf

            object SQLServerTbleCreate {  
                def main (args: Array[String]){              
                  val conf = new SparkConf()
                                 .setAppName("test SQL")
                                 .setMaster("path to Spark Master Server")
                                 .set("spark.executor.memory","1g");
                  val sc = new SparkContext(conf)
                  val sqlContext = new org.apache.spark.SQLContext(sc)  

                  var props= new java.util.Properties()
                  props.setProperty("driver",                                                                                                                                                                          "com.microsoft.sqlserver.jdbc.SQLServerDriver")

         val jdbcDF = sqlContext.read.format("jdbc").options(Map( "url" ->      "jdbc:sqlserver://xxx:xxxx/xxx?user=xxxxx&password=xxxxx", 
"dbtable"-> "xxxx")).load()

         val test = sqlContext.sql("SELECT xxxx ,xxxx FROM xxxxx")
         test.show(10)

          }
        }
我的eclipse配置为“C:\ProgramFiles\Java\jre1.8.0\U 121\bin\server\jvm.dll”

月食MARS2

我通过“构建路径”绑定了sqljdbc4-2.0.jar

问候,,
Amitesh Sahay

错误似乎是类路径问题,而不是版本冲突。确保您的驱动程序位于类路径中。您还可以通过右键单击项目从eclipse中确保它


在Eclipse中,右键单击项目→ 构建路径→ 配置生成路径。在“库”选项卡下,单击“添加Jar”或“添加外部Jar”并提供Jar。

首先更改代码,如

package spark_sqlserver.tblcreation

import org.apache.spark.SparkContext
import org.apache.spark.sql.SQLContext
import org.apache.spark.SparkConf

object SQLServerTbleCreate {  
    def main (args: Array[String]){              
         val conf = new SparkConf()
                    .setAppName("test SQL")                    
                    .set("spark.executor.memory","1g");
        val sc = new SparkContext(conf)
        val sqlContext = new org.apache.spark.SQLContext(sc)  

        val jdbcSqlConnStr = "jdbc:sqlserver://xxx.xxx;databaseName=xxx;user=xxx;password=xxx;"

        val jdbcDF = sqlContext.read.format("jdbc").options(Map("url" -> jdbcSqlConnStr, "dbtable" -> jdbcDbTable)).load()


         val test = sqlContext.sql("SELECT xxxx ,xxxx FROM xxxxx")
         test.show(10)

        }
}
然后,您需要为启动应用程序提供正确的语法,还需要为
--jars
参数提供所需的依赖项:

spark-submit --class "your main class full reference" --master yarn --deploy-mode cluster --jars "full path to your jars with comma delimiter" "your jar package" "args"
e、 g


你能把你的pom文件寄出去吗?org.apache.spark-spark-sql_2.10 1.6.1 org.scala-lang scala编译器2.10.4 org.apache.spark-spark-core_2.10 1.6.1您好Balaji,是的,我可以说它更像是jdbc驱动程序的类路径。但我真的不知道如何修复它。我试着按照你的指示寻找课程路径,但是有很多选择,请引导我找到正确的路径。你好,巴拉吉,我不知道你想要传达什么。我将sqljdbc4.jar向上移动,并尝试了,但它不起作用Hello Balaji,我已经这样做了,我可以在我的项目中看到我的sqljdbc4.jar是我最初使用的infomed。您好,我的spark submit语法是正确的,我已经在多个级别进行了交叉验证,在这里发布时,我可能犯了一个错误。我的主要目的是制作一个jar,它包含每个依赖项,这样我们就不需要给出任何命令行参数。无论如何,我还是会尝试你的建议我只是按照你的指令执行,spark提交——类com.xxx.SQLConn spark\u sqlserver\u Conn.jar——jars/usr/iop/123/spark/lib/sqljdbc4.jar——部署模式集群——主线程。我仍然会遇到同样的错误请解释一下“application.jar”,我会在这里提到什么?application jar是您的uber jar或fat jar,其中包括您的主/运行程序classI我试图按照您要求的方式执行jar文件,但现在,我得到了新的错误spark submit——class com.sqlSpark.SQLConn——master thread——部署模式集群——jars/usr/iop/4/spark/lib/sqljdbc4.jar应用程序jar spark\u sqlserver\u Conn.jar。下面是错误文件NotFoundException:文件文件:/home/METNET/at732615/poc/application jar不存在
spark-submit --class com.run.Main --master yarn --deploy-mode cluster --jars /home/user/test.jar,/home/user/log.jar application.jar "Hello!"