Spark 作业提交
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass></mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
或者
<!-- 用来创建超级JAR包的Maven shade插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
|
提交Spark Application到环境中运行。如果要写入数据库数据则需要加上 --jars
1、该模式操作路径在本地的数据
spark-submit \
--name SparkSessionApp \
--class com.imooc.spark.SparkSessionApp \
--jars /www/lib/mysql-connector-java-5.1.25.jar \
--master local[2] \
/www/lib/sql-1.0.jar \
/www/instl/spark/spark-2.1.0-bin-2.6.0-cdh5.7.0/examples/src/main/resources/people.json
2、该模式操作路径在hdfs上的数据
spark-submit \
--name SparkSessionApp \
--class com.imooc.spark.SparkSessionApp \
--jars /www/lib/mysql-connector-java-5.1.25.jar \
--master local[2] \
/www/lib/sql-1.0.jar \
hdfs://hadoop001:8020/inputfile/people.json
|
如果要写入数据库数据则需要加上 --jars ,如果需要引入文件,需要加上 --file
1、该模式操作路径在hdfs上的数据.(参数路径不加hdfs://hadoop001:8020 时,默认加上这路径)
spark-submit \
--name SparkSessionApp \
--class com.imooc.spark.SparkSessionApp \
--jars /www/lib/mysql-connector-java-5.1.25.jar \
--master yarn-client \
--executor-memory 1G \
--num-executors 1 \
--conf spark.sql.shuffle.partitions=100 \
--files /www/lib/ipDatabase.csv,/home/hadoop/lib/ipRegion.xlsx \
/www/lib/sql-1.0-jar-with-dependencies.jar \
hdfs://hadoop001:8020/inputfile/access.log hdfs://hadoop001:8020/outputfile/clean
2、该模式操作路径在本地数据,需要加上file:// 标识
spark-submit \
--name SparkSessionApp \
--class com.imooc.spark.SparkSessionApp \
--jars /www/lib/mysql-connector-java-5.1.25.jar \
--master yarn-client \
--executor-memory 1G \
--num-executors 1 \
--conf spark.sql.shuffle.partitions=100 \
--files /www/lib/ipDatabase.csv,/www/lib/ipRegion.xlsx \
/www/lib/sql-1.0-jar-with-dependencies.jar \
file:///www/data/outputfile/access.log file:///www/data/outputfile/clean
3、不参与操作路径资源
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn-client \
--executor-memory 1G \
--num-executors 1 \
/www/instl/spark/spark-2.1.0-bin-2.6.0-cdh5.7.0/examples/jars/spark-examples_2.11-2.1.0.jar \
4
|
如果要写入数据库数据则需要加上 --jars ,如果需要引入文件,需要加上 --file
1、该模式操作路径在hdfs上的数据(参数路径不加hdfs://hadoop001:8020 时,默认加上这路径)
spark-submit \
--name SparkSessionApp \
--class com.imooc.spark.SparkSessionApp \
--jars /www/lib/mysql-connector-java-5.1.25.jar \
--master yarn-cluster \
--executor-memory 1G \
--num-executors 1 \
--conf spark.sql.shuffle.partitions=100 \
--files /www/lib/ipDatabase.csv,/www/lib/ipRegion.xlsx \
/www/lib/sql-1.0-jar-with-dependencies.jar \
hdfs://hadoop001:8020/inputfile/access.log hdfs://hadoop001:8020/outputfile/clean
2、该模式操作路径在本地数据,需要加上file:// 标识
spark-submit \
--name SparkSessionApp \
--class com.imooc.spark.SparkSessionApp \
--jars /www/lib/mysql-connector-java-5.1.25.jar \
--masteryarn-cluster \
--executor-memory 1G \
--num-executors 1 \
--conf spark.sql.shuffle.partitions=100 \
--files /www/lib/ipDatabase.csv,/home/hadoop/lib/ipRegion.xlsx \
/www/lib/sql-1.0-jar-with-dependencies.jar \
file:///www/data/outputfile/access.log file:///www/data/outputfile/clean
3、不参与操作路径资源
spark-submit \
--class org.apache.spark.examples.SparkPi \
--masteryarn-cluster \
--executor-memory 1G \
--num-executors 1 \
--conf spark.sql.shuffle.partitions=100 \
/www/instl/spark/spark-2.1.0-bin-2.6.0-cdh5.7.0/examples/jars/spark-examples_2.11-2.1.0.jar \
4
|
./bin/spark-submit \
--class com.imooc.log.TopNStatJobYARN \
--name TopNStatJobYARN \
--master yarn \
--executor-memory 1G \
--num-executors 1 \
--conf spark.sql.shuffle.partitions=100 \
/home/hadoop/lib/sql-1.0-jar-with-dependencies.jar \
hdfs://hadoop001:8020/imooc/clean 20170511
|
注意:不同模式参数路径读取路径位置
【在不同的启动模式下,加载文件时的参数路径写法是不一样的,对于local模式下,默认就是读取本地文件,而在standlone或者yarn-client,或者yarn-cluster模式下,默认读的都是hdfs文件系统】, 这几种模式下很难读取本地文件(这是很显然的事情,但你可以通过指定节点的文件服务曲线救国)。
下面的代码在local模式下有效,在其它模式下无效:
var theP1 = sc.textFile("file:///usr/test/people.json") //读取本地
var theP2 = sc.textFile("hdfs://master.hadoop/user/root/test/test/people.json") //读取hdfs文件
下面的代码在非local模式下,都是读取的hdfs,file://模式无效.
var theP1 = sc.textFile("/usr/test/people.json")
var theP2 = sc.textFile("/user/root/test/test/people.json")
下面这个语句在几种模式下都有效
var theP2 = sc.textFile("hdfs://master.hadoop/user/root/test/test/people.json") //读取hdfs文件
在非local模式下等同于
var theP2 = sc.textFile("/user/root/test/test/people.json")
|
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils$
at com.imooc.spark.project.spark.ImoocStatStreamingApp$.main(ImoocStatStreamingApp.scala:31)
at com.imooc.spark.project.spark.ImoocStatStreamingApp.main(ImoocStatStreamingApp.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:755)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.streaming.kafka.KafkaUtils$
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 11 more
|
spark-submit --master local[5] \
--class com.imooc.spark.project.spark.ImoocStatStreamingApp \
--packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.2.0 \
/home/hadoop/lib/sparktrain-1.0.jar \
hadoop000:2181 test streamingtopic 1
|
java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/client/HBaseAdmin
at com.imooc.spark.project.utils.HBaseUtils.<init>(HBaseUtils.java:30)
at com.imooc.spark.project.utils.HBaseUtils.getInstance(HBaseUtils.java:40)
at com.imooc.spark.project.dao.CourseClickCountDAO$.save(CourseClickCountDAO.scala:26)
at com.imooc.spark.project.spark.ImoocStatStreamingApp$$anonfun$main$4$$anonfun$apply$1.a
|
spark-submit --master local[5] \
--jars $(echo /home/hadoop/app/hbase-1.2.0-cdh5.7.0/lib/*.jar | tr ' ' ',') \
--class com.imooc.spark.project.spark.ImoocStatStreamingApp \
--packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.2.0 \
/home/hadoop/lib/sparktrain-1.0.jar \
hadoop000:2181 test streamingtopic 1
|
Spark 作业提交相关推荐
- Spark学习(四) -- Spark作业提交
标签(空格分隔): Spark 作业提交 先回顾一下WordCount的过程: sc.textFile("README.rd").flatMap(line => line.s ...
- spark StandAlone模式下的作业提交流程
spark StandAlone也有两种作业提交模式,client 和 cluster模式,以下以cluster为例说明 提交代码 ./spark-submit \ --class org.apach ...
- 【大数据Spark系列】Spark部署模式与作业提交
文章目录 Spark部署模式与作业提交 一.作业提交 1.1 spark-submit 1.2 deploy-mode 1.3 master-url 二.Local模式 三.Standalone模式 ...
- Kettle与Hadoop(九)提交Spark作业
实验目的: 配置Kettle向Spark集群提交作业. 实验环境: Spark History Server: 172.16.1.126 Spark Gateway: 172.16.1.124 172 ...
- Spark任务提交底层原理
Driver的任务提交过程 1.Driver程序的代码运行到action操作,触发了SparkContext的runJob方法. 2.SparkContext调用DAGScheduler的runJob ...
- Spark详解(五):Spark作业执行原理
Spark的作业和任务调度系统是其核心,它能够有效地进行调度的根本原因是对任务的划分DGG和容错.下面我们介绍一下相关术语: 作业(Job):RDD中由行动操作所生成的一个或者多个调度阶段 调度阶段( ...
- 平台搭建---Spark提交应用程序---Spark Submit提交应用程序及yarn
本部分来源,也可以到spark官网查看英文版. spark-submit 是在spark安装目录中bin目录下的一个shell脚本文件,用于在集群中启动应用程序(如***.py脚本):对于spark支 ...
- Spark Submit提交及参数调优
https://www.cnblogs.com/LHWorldBlog/p/8414342.html https://www.cnblogs.com/haoyy/p/6893943.html spar ...
- Maxcompute Spark作业管控利器—Cupid Console
一.背景 Maxcompute平台目前可以支持运行Spark作业,Spark作业依托于Maxcompute的Cupid平台可以按照社区兼容的方式提交到Maxcompute上运行,支持读写Maxcomp ...
最新文章
- Oracle字符串转BooIean,利用Java的多线程技术实现数据库的访问.pdf
- 智齿客服Android集成流程,一种基于编程语言接入智齿客服的方法以及电子设备与流程...
- 怎么修改服务器上的分数,教资成绩查询服务器爆了?这里有个小技巧教你!
- LG卖楼进行时:价值87.7亿元的双子座大厦将出手
- GoDaddy Linux主机支持机房的更换
- Linux 查看分区大小
- 华为手机计算器程序员模式_华为手机的普通拍照模式,你真的会用吗?
- php人民币转换,PHP转换,如何实现人民币中文大写与数字相互转换?
- 分库分表会带来读扩散问题?怎么解决?
- 为什么NFT的头像卖这么贵?这与IPFS/FIL有什么联系
- 使用思博伦卫星导航模拟器GSS7000方法
- pmp-关键路径图和甘特图
- 云原生:打造「阿拉丁神灯式」应用厨房
- 如今,我们已经长大,
- AI TIME走进深圳大学城
- 全国专业技术人员计算机应用能力考试题库word,全国专业技术人员计算机应用能力考试题库ExcelWordXP.docx...
- Reverse for 'xxx' not found. 'xxx' is not a valid view function or pattern name.问题的原因以及解决
- 『用英语学英语』英文语法为什么要有独立主格?
- JD6606S有TID号的硬件PD协议芯片资料
- Java CompletableFuture的complete(7)