我使用intelliJ创建了一个sbt项目 . 我在项目的 lib 文件夹中复制了所需的jdbc jar sqljdbc42.jar . sbt package 圆满结束 . 我在 Windows 的 spark-shell --driver-class-path C:\sqljdbc_6.0\enu\jre8\sqljdbc42.jar 开始了火花 .

import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

import org.apache.spark.SparkConf

import java.sql._

object ConnTest extends App {

val conf = new SparkConf()

val sc = new SparkContext(conf.setAppName("Test").setMaster("local[*]"))

// The following four statements work if running interactively in the Spark shell

val sqlContext = new org.apache.spark.sql.SQLContext(sc)

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

val jdbcDf = sqlContext.read.format("jdbc").options(Map(

"url" -> jdbcSqlConn,

"dbtable" -> "testTable"

)).load()

jdbcDf.show(10)

sc.stop()

}

但是,以下 spark-submit 命令出错 .

spark-submit.cmd --class ConnTest --master local[4] .\target\scala-2.11\test_2.11-1.0.jar

spark-submit.cmd --class ConnTest --master local[4] .\target\scala-2.11\test_2.11-1.0.jar --jars \sqljdbc_6.0\enu\jre8\sqljdbc42.jar

Exception in thread "main" java.sql.SQLException: No suitable driver

at java.sql.DriverManager.getDriver(Unknown Source)

at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$7.apply(JDBCOptions.scala:84)

at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$7.apply(JDBCOptions.scala:84)

at scala.Option.getOrElse(Option.scala:121)

at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.(JDBCOptions.scala:83)

at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.(JDBCOptions.scala:34)

at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:32)

at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:330)

at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:152)

at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:125)

at ConnTest$.delayedEndpoint$ConnTest$1(main.scala:14)

at ConnTest$delayedInit$body.apply(main.scala:6)

at scala.Function0$class.apply$mcV$sp(Function0.scala:34)

at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)

at scala.App$$anonfun$main$1.apply(App.scala:76)

at scala.App$$anonfun$main$1.apply(App.scala:76)

at scala.collection.immutable.List.foreach(List.scala:381)

at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)

at scala.App$class.main(App.scala:76)

at ConnTest$.main(main.scala:6)

at ConnTest.main(main.scala)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:743)

at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)

at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)

at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)

at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

Update: 如果直接在Spark shell中运行语句,我可以看到表格内容 .

Update 2: 运行时确实显示以下消息 spark-submit

17/05/15 16:12:30 INFO SparkContext:在spark://10.8.159.130:7587 / jars / sqljdbc42.jar添加了JAR文件:/ C:/sqljdbc_6.0/enu/jre8/sqljdbc42.jar时间戳1494879150052

shell调用spark不执行JAVA,当代码在Spark shell中工作时,spark-submit不能引用“--jars”指定的jar?...相关推荐

  1. shell的建立与执行实验报告_实验七 Shell脚本运行的优化

    实验七 Shell脚本运行的优化 一.添加窗口 在Shell脚本的运行过程中,也可以实现类似于Windows系统和Linux系统中的窗口效果,使脚本运行美观. 1.dialog软件的安装 - dial ...

  2. java程序员在交接别人的工作时如何保证顺利交接?

    序言 各位好啊,我是会编程的蜗牛,作为java开发者,尤其是在职场混迹了多年的老手,肯定会遇到同事离职的情况,或者自己跳槽的情况,这些都免不了需要做好交接工作,不管是别人交接给我们,还是我们交接给别人 ...

  3. java 包含几个字符_java中如何判断一个字符串包含几个指定字符

    java中如何判断一个字符串包含几个指定字符 可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返 ...

  4. c 后台代码调用ajax,.NET Selenium WebDriver操作调用浏览器后台执行Js(JavaScript)代码...

    1.Selenium WebDriver安装引用 注意:要用使用的浏览器肯定要装,并且Selenium.Chrome.WebDriver版本要和浏览器版一致. 如果要操作其它浏览器,则安装对应其它浏览 ...

  5. 调用bat文件执行java文件

    set path=./jre7/bin--设置jre路径,可以写jre的全路径 java -cp "lib/*;" -Xms256m -Xmx512m com.shentong.M ...

  6. mvn如何执行java代码

    2019独角兽企业重金招聘Python工程师标准>>> 如果你的项目是mvn项目,那么去pom所在的文件夹执行如下命令: 1 2 3 4 mvn compile mvn exec : ...

  7. php调用python pkl_Python Pickle的任意代码执行漏洞实践和Payload构造

    *原创作者:bit4@勾陈安全实验室,MottoIN原创文章未经许可禁止转载 0x01 Pickle的典型应用场景 一般在什么场景下需要用到Pickle?通常在解析认证token,session的时候 ...

  8. .net core 引用jar_Python一键转Jar包,Java调用Python新姿势!

    粉丝朋友们,不知道大家看故事看腻了没(要是没腻可一定留言告诉我^_^),今天这篇文章换换口味,正经的来写写技术文.言归正传,咱们开始吧! 今天的这篇文章,聊一个轩辕君之前工作中遇到的需求:如何在Jav ...

  9. makefile中的shell调用---注意事项

    在之前一次编写makfile时候,有看到相关的makefile中使用$$来引用变量,而且尝试后发现$$使用居然和${}有类似的功能.当时也没具体追究相关的用法,当然刚才所说的都是错误的观念 $$:在m ...

最新文章

  1. table中嵌套table,如何用jquery来控制奇偶行颜色
  2. php对长文章进行分页处理
  3. 怎样将项目上传到github上
  4. Python实现奖金计算两种方法的比较
  5. 专家支招:如何利用Plesk搭建完美全能开发环境
  6. python调用外部程序 退出_Python调用(运行)外部程序
  7. 工业级光纤收发器产品性能特点介绍
  8. 公众号标题变迁史 - 你有没有被套路?
  9. android html模板下载地址,Android HTML模板
  10. WPF应用程序启动顺序机制
  11. github上开源的UVCCamera为什么不能正常运行
  12. Java项目:SSM会议室预约系统
  13. 停车场管理系统可行性研究报告
  14. 设置Google连接burpsuite
  15. ma5671怎么设置_电信/联通/移动,更换华为MA5671光猫详细教程
  16. PPT| PPT幻灯片演示(持续更新)
  17. java半角英数check_jQuery教程之输入内容控制为半角英数字+限定符号问题如何解决...
  18. 哲理小故事--跳蚤人生
  19. 外贸网站到底选什么购物车网店系统最好
  20. for循环去掉最后一个逗号

热门文章

  1. perl使用学习(全程更新)
  2. 2021-11-21STL——arraydeque
  3. 2021-09-13计算机网络自顶向下WireShark Lab(三)DNS
  4. 超异构融合:边缘计算腾飞的契机
  5. init自定义python_Python自定义Module中__init__.py文件介绍
  6. 用php写的亲亲鲜花网站_php在线花卉销售网站系统
  7. 计算机通信与网络(二)—— 物理层(一)—— 数据与信号
  8. Boost的万能转换器--lexical_cast
  9. window加速设置,让电脑运行速度大幅提升
  10. java setlayout_Java布局管理器setLayout()