一、spark-submit

1、类似于:hadoop jar;   [主要负责jar包的提交];

2、语法:spark-submit [options] <app jar | python file> [app arguments]

通过- -help 查看参数:

spark中的apply方法 spark使用方法_spark中的apply方法

参数options:

  • -master: 指定运行模式,spark://host:port, mesos://host:port, yarn, or local[n].
  • -deploy-mode: 指定将driver端运行在client 还是在cluster,默认情况下是client模式
  • -class: 指定运行程序main方法类名,一般是应用程序的包名+类名
  • -name: 运用程序名称
  • -jars: 需要在driver端和executor端运行的jar,如mysql驱动包
  • -packages: maven管理的项目坐标GAV,多个以逗号分隔
  • -conf: 以key=value的格式强制指定Spark配置属性,所传入的参数必须是以spark开头
  • -driver-memory:指定driver端运行内存,默认1G
  • -executor-memory:指定executor端的内存,默认1G

3、Spark自带examples样例提交任务:

(1)本地模式运提交:

1-路径:/kkb/install/spark2.2.0/examples/jars  spark-examples_2.11-2.2.0.jar

spark中的apply方法 spark使用方法_每日日报_02

2-提交jar包: spark-submit  --master local --class org.apache.spark.examples.SparkPi  spark-examples_2.11-2.2.0.jar 10

** --master : 运行在哪里

** local : 本地运行,local可以添加参数:local[1] 代表每台服务器需要1个核数,local[*]所有的核数,如果给的参数是*,虽然是本地模式,但是模拟的是集群模式。

** --calss:运行的是哪个类

**  jar:x需要的jar包

** 参数 10:做10次运算

spark-submit  --master  local[*]  --class  org.apache.spark.examples.SparkPi spark-examples_2.11-2.2.0.jar  10

(2)集群模式提交:[真正的集群提交模式]

spark-submit --master spark://node01:7077  --class org.apache.spark.examples.SparkPi spark-examples_2.11-2.2.0.jar 10

 


 

二、spark-shell

1、交互式的命令行。[spark-shell底层也是使用spark-submint 提交的]

2、启动命令:spark-shell --master spark://node01:7077

spark中的apply方法 spark使用方法_jar_03

说明:

  • 1-启动 spark-shell等于是启动了一个应用,所以运行启动速度慢;
  • 2-交互式命令行的监控页面是4040端口。
  • 3-sc是sparkContext的对象实例,Context是上下文。负责初始化很多的东西。例如driver端的数据和实例

3、使用集合并行化的形式创建RDD

spark中的apply方法 spark使用方法_每日日报_04

spark中的apply方法 spark使用方法_每日日报_05

4、读取外部文件的形式创建RDD

spark中的apply方法 spark使用方法_每日日报_06

备注:RDD是分布式的,读取数据的时候也是分布式的,其他服务器如果在指定的目录下没有指定的文件,就会报错,所以读取数据的时候最好是读取HDFS上的数据