Spark(29)-Spark Shell及编写Spark独立应用程序

任务提交

一个线程启动一个任务

物理CPU包含多个逻辑CPU

local是本地的单机模式

集群模式就是下面的,

集群模式有三种:Standalone,Yarn,Mesos

 yarn-client与yarn-cluster的区别就是driver所在地不一样。

 本地模式启动参数

实例

如上代码:

导包,单例对象,入口函数main,

需要我们人为创建一个SparkContext,作为链接集群的入口,new 一个SparkContext sc需要一个配置参数conf

注:我们在spark-shell中启动时,自动创建一个sc,我们可以直接拿来用

然后我们启动两个线程作为两个分片

随后过滤,我们的.filter后面跟的是一个lambda表达式,以line作为输入参数,=>右边执行的是把line中包含a的筛选出来,最后统计一下。

这里我们基本用的核心包spark-core.

 如果第一次使用sbt,那么会耗费很长时间,后面再使用时就会很快了。

target目录是保存jar包的位置

spark-submit

 

 object后面的就是主类

~表示用户主目录

WordCount词频统计-在spark-shell中

读本地文件三个斜杆

对textFile-RDD的操作,把一行单词用空格区分,牌匾掉

再把单词映射为键值对,map中就是一堆键值对

.reduceByKey(),对有相同键进行求和汇总

例如hadoop,1   hadoop,2  =》 hadoop,3

在集群中,我们想在driver所在的节点把其他节点统计结果汇总,那就用.collect()

写一个单独的程序编译打包

为什么setAppName呢,会在Spark-UI访问监控界面,有助于监测当前程序运行状态。 

注意:下面代码的textFile与sc.textFile是两个不同,sc.textFile是一个方法,生成的textFile是一个RDD

在集群上运行Spark应用程序

在集群中运行应用程序JAR包

 在集群中运行spark-shell

查看Spark-UI界面,查看8080端口

猜你喜欢

转载自blog.csdn.net/qq_52128187/article/details/131113143