Spark

Spark

优势

速度快
基于内存数据处理,比MR快100个数量级以上(逻辑回归算法测试)
基于硬盘数据处理,比MR快10个数量级以上
易用性
支持Java、Scala、Python、R语言
交互式shell方便开发测试
通用性
一栈式解决方案:批处理、交互式查询、实时流处理、图计算及机器学习
多种运行模式
YARN、Mesos、EC2、Kubernetes、Standalone、Local

Spark技术栈

Spark Core
核心组件,分布式计算引擎
Spark SQL
高性能的基于Hadoop的SQL解决方案
Spark Streaming
可以实现高吞吐量、具备容错机制的准实时流处理系统
Spark GraphX
分布式图处理框架
Spark MLlib
构建在Spark上的分布式机器学习库

Spark架构与运行环境
Spark环境部署

选择较新的Spark2.2版本,下载地址
https://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.7.tgz  
解压并配置环境变量
SPARK_HOME
Spark配置文件
$SPARK_HOME/conf/spark-env.sh
$SPARK_HOME/conf/slaves
启动Spark
$SPARK_HOME/sbin/start-all.sh
7077与8080端口

Spark 架构

核心组件 说 明
Application 建立在Spark上的用户程序,包括Driver代码和运行在集群各节点Executor中的代码
Driver program 驱动程序。Application中的main函数并创建****SparkContext
Cluster Manager 在集群(StandaloneMesosYARN)上获取资源的外部服务
Worker Node 集群中任何可以运行Application代码的节点
Executor 某个Application运行在worker节点上的一个进程
Task 被送到某个Executor上的工作单元
Job 包含多个Task组成的并行计算,往往由Spark Action触发生成,一个Application中往往会产生多个****Job
Stage 每个Job会被拆分成多组Task,作为一个TaskSet,其名称为****Stage

运行架构
在这里插入图片描述

1.在驱动程序中,通过SparkContext主导应用的执行
2.SparkContext可以连接不同类型的Cluster Manager(Standalone、YARN、Mesos),连接后,获得集群节点上的Executor
3.一个Worker节点默认一个Executor,可通过SPARK_WORKER_INSTANCES调整
4.每个应用获取自己的Executor
5.每个Task处理一个RDD分区

Spark核心数据结构—RDD

/**
*#类:封装了一个不可变、可分区、可并行操作的SPARK基础抽象的弹性分布式数据集
A Resilient Distributed Dataset(RDD), the basic abstraction in Spark. Represents an immutable,*partitioned collection of elements that can be operated on in parallel.
*#----这个类中包含了基础的操作算子,对scala中算子在RDD上进行了重构
This class contains the
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值