Spark解决的问题与体系结构

1、Spark解决的问题:

– 最大化利用内存cache (采用该多线程的方式)

– 中间结果放内存,加速迭代(内存计算下Spark比MapReduce约快100倍)

在这里插入图片描述

– 某结果集放内存,加速后续查询和处理,解决运行慢的问题
在这里插入图片描述

– 更丰富的API
(解决API单一问题)
– Transfomation变换的api,比如map可对每一行做变换,filter过滤出符合条件的行等,这些API实现用户算法
– spark提供很多转换和动作,很多基本操作如Join,GroupBy已经在RDD转换和动作中实现。不需用户自己实现

2.Spark的API

在这里插入图片描述

Spark运算过程:(一定会有Action,如果没有Action再多的Transformations也没有意义)
一个RDD可以有多个Action
在这里插入图片描述

3.完整作业描述

– 将用户的整个作业穿起来。关键是这3行。可以立即解释。不像mr那样,需要实现多个map和reduce脚本,解决MR缺乏作业流描述问题

//数据输入
val file = sc.textFile(hdfs://input)
//运算 这里的map可以利用通配符写成.map((_,1))
val counts = file.flatMap(line=>line.split(" "))
    		.map(word=>(word,1))
      		.reduceByKey(_+_)
//输出
counts.saveAsTextFile(hdfs://output)

4.spark 体系架构

• Spark和Hadoop关系: Spark依赖于HDFS文
依赖于YARN计算框架
• Spark Core:基于RDD提供操作接口,利用
DAG进行统一的任务规划
• Spark SQL:Hive的表 + Spark的里。通过把
Hive的HQL转化为Spark DAG计算来实现
• Spark Streaming:Spark的流式计算框架
• MLIB:Spark的机器学习库,包含常用的机器
学习算法
• GraphX:Spark图并行操作库
件系统,如果是Spark on YARN部署模式,又
由于这些组件满足了很多大数据需求,也满足了很多数据科学任务的算法和计算上的需要,Spark快速流行起来。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值