shell调用spark不执行JAVA,当代码在Spark shell中工作时,spark-submit不能引用“--jars”指定的jar?...
我使用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?...相关推荐
- shell的建立与执行实验报告_实验七 Shell脚本运行的优化
实验七 Shell脚本运行的优化 一.添加窗口 在Shell脚本的运行过程中,也可以实现类似于Windows系统和Linux系统中的窗口效果,使脚本运行美观. 1.dialog软件的安装 - dial ...
- java程序员在交接别人的工作时如何保证顺利交接?
序言 各位好啊,我是会编程的蜗牛,作为java开发者,尤其是在职场混迹了多年的老手,肯定会遇到同事离职的情况,或者自己跳槽的情况,这些都免不了需要做好交接工作,不管是别人交接给我们,还是我们交接给别人 ...
- java 包含几个字符_java中如何判断一个字符串包含几个指定字符
java中如何判断一个字符串包含几个指定字符 可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返 ...
- c 后台代码调用ajax,.NET Selenium WebDriver操作调用浏览器后台执行Js(JavaScript)代码...
1.Selenium WebDriver安装引用 注意:要用使用的浏览器肯定要装,并且Selenium.Chrome.WebDriver版本要和浏览器版一致. 如果要操作其它浏览器,则安装对应其它浏览 ...
- 调用bat文件执行java文件
set path=./jre7/bin--设置jre路径,可以写jre的全路径 java -cp "lib/*;" -Xms256m -Xmx512m com.shentong.M ...
- mvn如何执行java代码
2019独角兽企业重金招聘Python工程师标准>>> 如果你的项目是mvn项目,那么去pom所在的文件夹执行如下命令: 1 2 3 4 mvn compile mvn exec : ...
- php调用python pkl_Python Pickle的任意代码执行漏洞实践和Payload构造
*原创作者:bit4@勾陈安全实验室,MottoIN原创文章未经许可禁止转载 0x01 Pickle的典型应用场景 一般在什么场景下需要用到Pickle?通常在解析认证token,session的时候 ...
- .net core 引用jar_Python一键转Jar包,Java调用Python新姿势!
粉丝朋友们,不知道大家看故事看腻了没(要是没腻可一定留言告诉我^_^),今天这篇文章换换口味,正经的来写写技术文.言归正传,咱们开始吧! 今天的这篇文章,聊一个轩辕君之前工作中遇到的需求:如何在Jav ...
- makefile中的shell调用---注意事项
在之前一次编写makfile时候,有看到相关的makefile中使用$$来引用变量,而且尝试后发现$$使用居然和${}有类似的功能.当时也没具体追究相关的用法,当然刚才所说的都是错误的观念 $$:在m ...
最新文章
- table中嵌套table,如何用jquery来控制奇偶行颜色
- php对长文章进行分页处理
- 怎样将项目上传到github上
- Python实现奖金计算两种方法的比较
- 专家支招:如何利用Plesk搭建完美全能开发环境
- python调用外部程序 退出_Python调用(运行)外部程序
- 工业级光纤收发器产品性能特点介绍
- 公众号标题变迁史 - 你有没有被套路?
- android html模板下载地址,Android HTML模板
- WPF应用程序启动顺序机制
- github上开源的UVCCamera为什么不能正常运行
- Java项目:SSM会议室预约系统
- 停车场管理系统可行性研究报告
- 设置Google连接burpsuite
- ma5671怎么设置_电信/联通/移动,更换华为MA5671光猫详细教程
- PPT| PPT幻灯片演示(持续更新)
- java半角英数check_jQuery教程之输入内容控制为半角英数字+限定符号问题如何解决...
- 哲理小故事--跳蚤人生
- 外贸网站到底选什么购物车网店系统最好
- for循环去掉最后一个逗号
热门文章
- perl使用学习(全程更新)
- 2021-11-21STL——arraydeque
- 2021-09-13计算机网络自顶向下WireShark Lab(三)DNS
- 超异构融合:边缘计算腾飞的契机
- init自定义python_Python自定义Module中__init__.py文件介绍
- 用php写的亲亲鲜花网站_php在线花卉销售网站系统
- 计算机通信与网络(二)—— 物理层(一)—— 数据与信号
- Boost的万能转换器--lexical_cast
- window加速设置,让电脑运行速度大幅提升
- java setlayout_Java布局管理器setLayout()