Spark角色介绍

  • 1、Driver

    • 它会运行客户端的main方法,构建了SparkContext对象,它是所有spark程序的入口

  • 2、Application

    • 它就是一个应用程序,包括了Driver端的代码和当前这个任务在运行的时候需要的资源信息

  • 3、Master

    • 它是整个spark集群的老大,负责资源的分配

  • 4、ClusterManager

    • 它是一个可以给任务提供资源的外部服务

      • standAlone

        • spark自带的集群模式,整个任务的资源分配由Master负责

      • yarn

        • spark可以把程序提交到yarn中去运行,整个任务的资源分配由ResourceManager负责

      • mesos

        • 它是一个apache开源的类似于yarn的资源管理平台

  • 5、Worker

    • 它是整个spark集群的小弟,任务最后会运行在worker节点

  • 6、Executor

    • 它是一个进程,任务最后会运行在worker节点的executor进程中。

  • 7、task

    • 它是一个线程,spark的任务是以线程的方式运行在worker节点的executor进程中。

spark-shell的使用

1、通过spark-shell --master local[N] 读取本地数据文件实现单词统计

--master local[N]

  • local表示本地运行,跟spark集群没有任何关系,方便于我们做测试

  • N表示一个正整数,在这里local[N] 就是表示本地采用N个线程去运行任务

  • 它会产生一个SparkSubmit进程

spark-shell --master local[2]
sc.textFile("file:///root/words.txt").flatMap(x=>x.split(" ")).map(x=>(x,1)).reduceByKey((x,y)=>x+y).collect sc.textFile("file:///root/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

2、通过spark-shell --master local[N] 读取HDFS上数据文件实现单词统计

#spark整合HDFS
vim spark-env.sh #引入hadoop中配置文件路径
export HADOOP_CONF_DIR=/export/servers/hadoop/etc/hadoop
spark-shell --master local[2]

sc.textFile("hdfs://node1:9000/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

sc.textFile("/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

3、通过spark-shell 指定master为整个spark集群中alive的master地址

spark-shell --master spark://node1:7077 --executor-memory 1g  --total-executor-cores 2

sc.textFile("/words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

使用spark-submit提交jar包任务到集群

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://node1:7077,node2:7077,node3:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
examples/jars/spark-examples_2.11-2.1.3.jar \
10

Spark角色介绍及spark-shell的基本使用的更多相关文章

  1. 2 Spark角色介绍及运行模式

    第2章 Spark角色介绍及运行模式 2.1 集群角色 从物理部署层面上来看,Spark主要分为两种类型的节点,Master节点和Worker节点:Master节点主要运行集群管理器的中心化部分,所承 ...

  2. Spark概念介绍

    Spark概念介绍:spark应用程序在集群中以一系列独立的线程运行,通过驱动器程序(Driver Program)发起一系列的并行操作.SparkContext对象作为中间的连接对象,通过Spark ...

  3. 大数据学习day18----第三阶段spark01--------0.前言(分布式运算框架的核心思想,MR与Spark的比较,spark可以怎么运行,spark提交到spark集群的方式)1. spark(standalone模式)的安装 2. Spark各个角色的功能 3.SparkShell的使用,spark编程入门(wordcount案例)

    0.前言 0.1  分布式运算框架的核心思想(此处以MR运行在yarn上为例)  提交job时,resourcemanager(图中写成了master)会根据数据的量以及工作的复杂度,解析工作量,从而 ...

  4. spark API 介绍链接

    spark API介绍: http://homepage.cs.latrobe.edu.au/zhe/ZhenHeSparkRDDAPIExamples.html#aggregateByKey

  5. Spark记录-spark编程介绍

    Spark核心编程 Spark 核心是整个项目的基础.它提供了分布式任务调度,调度和基本的 I/O 功能.Spark 使用一种称为RDD(弹性分布式数据集)一个专门的基础数据结构,是整个机器分区数据的 ...

  6. Spark(二) -- Spark简单介绍

    spark是什么? spark开源的类Hadoop MapReduce的通用的并行计算框架 spark基于map reduce算法实现的分布式计算 拥有Hadoop MapReduce所具有的优点 但 ...

  7. Spark MLlib介绍

    Spark MLlib介绍 Spark之所以在机器学习方面具有得天独厚的优势,有以下几点原因: (1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后获得足够小的误差或者足 ...

  8. Apache Spark简单介绍、安装及使用

    Apache Spark简介 Apache Spark是一个高速的通用型计算引擎,用来实现分布式的大规模数据的处理任务. 分布式的处理方式可以使以前单台计算机面对大规模数据时处理不了的情况成为可能. ...

  9. spark相关介绍-提取hive表(一)

    本文环境说明 centos服务器 jupyter的scala核spylon-kernel spark-2.4.0 scala-2.11.12 hadoop-2.6.0 本文主要内容 spark读取hi ...

随机推荐

  1. 一张elixir生产环境部署的图

  2. Python 函数 -hasattr()

    hasattr(object, name)hasattr() 函数用于判断对象是否包含对应的属性.如果对象有该属性返回 True,否则返回 False.object -- 对象.name -- 字符串 ...

  3. Oracle 11gR2 RAC集群服务启动与关闭总结

    引言:这写篇文章的出处是因为我的一名学生最近在公司搭建RAC集群,但对其启动与关闭的顺序和原理不是特别清晰,我在教学工作中也发现了很多学员对RAC知识了解甚少,因此我在这里就把RAC里面涉及到的最常用 ...

  4. bean作用域

    https://blog.csdn.net/u011468990/article/details/49995865 其中比较常用的是singleton和prototype两种作用域.对于singlet ...

  5. 数据库表数据传输到Oracle方案

    方案步骤为:数据导出到文件(增量或全量),通知接口文件就绪(上传到ftp或提供下载url),接收方下载文件,解析文件并入库.Oracle需要建立对应的临时表和正式表,入库步骤为:清空临时表,批量插入数 ...

  6. 全局获取Context

    1.定制一个Application类,管理全局的状态信息 public class MyApplication extends Application{ private static Context ...

  7. offsetTop/offsetHeight scrollTop/scrollHeight 的区别

    offsetTop/offsetHeight   scrollTop/scrollHeight  这几个属性困扰了我N久,这次一定要搞定. 假设 obj 为某个 HTML 控件. obj.offset ...

  8. 5月9日上课笔记-网页定位、网页动画【HTML5】

    一.网页定位 position: static (默认值) relative 相对定位(相对原来的位置) right left botton top absolute 绝对定位 fixed: 固定定位 ...

  9. 5 matplotlib-绘制精美的图表

    matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...

  10. 13_java之final|static|包|匿名对象|代码块|内部类

    01final关键字概念 * A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承 ...