Spark1_简介

18 篇文章 0 订阅

Spark1

1.MapReduce局限性

1.1开发繁杂:

本身只提供了map/reduce两个算子,并没有groupby跟join这类的聚合操作的算子,如果要实现groupby跟join操作,则是借助于map跟reduce来实现,同时在mapreduce中可能会出现没有reduce仅仅只有map的场景,比如说mapjoin;同时mapreduce的测试环节也很繁杂

1.2效率:

mapreduce的计算效率相较于spark是偏低的

​ 1.进程级别低:MapTask跟ReduceTask都是有很多的进程

2.IO: chain,串行作业中前一个作业的输出作为后一个作业的输入的场景,会有频繁的网络+磁盘的io,同时还有很多的序列化操作.

​ 3.排序:mapreduce在每个阶段都会进行排序,但是很多场景中,排序过程是完全没有必要的

​ Tips:面试题 mapreduce作业中key的类型是实现什么接口? 答案:Writable接口(实现序列化)跟WritableComparable接口(实现排序),Writable接口中有两个方法,一个是readFields读方法,一个是write写方法.

​ 4.Memory:mapreduce基于内存的处理是有限的

所以mapreduce不适合迭代处理,不适合实时流式处理.

2.很多框架各自为战

多框架串行处理(上方)与spark框架(下方)处理对比

3.Spark简介

官网地址: http://spark.apache.org

Apache Spark™ is a unified analytics engine for large-scale data processing.

Spark是一个快速的分布式计算框架

3.1Speed 速度快

​ 1.spark有基于memory内存的计算.

​ 2.spark基于thread线程模型的实现.

​ 3.spark中排序sort是可以自己指定的,可以不配置排序.

​ 4.spark中有向无环图DAG是pipeline形式的,可以减少中间io跟磁盘开销提升速度,例如rdd.filter… collect需要最后的collect才会执行(而mapreduce中是遇到Task就执行,DAG有大量的io开销)

3.2Easc of Use 易用

Write applications quickly in Java, Scala, Python, R, and SQL.

可以使用以上语言来实现spark框架

Spark offers over 80 high-level operators that make it easy to build parallel apps. And you can use it interactively from the Scala, Python, R, and SQL shells.

Spark提供了超过80种高级算子API,例如groupby,join等操作,同时还能在命令行上实现交互式操作

3.Generality 通用性

Combine SQL, streaming, and complex analytics.

Spark powers a stack of libraries including SQL and DataFrames, MLlib for machine learning, GraphX, and Spark Streaming. You can combine these libraries seamlessly in the same application.

有spark sql,流形式等形式的处理

4.Runs Everywhere 运行在任何地方

Spark runs on Hadoop, Apache Mesos, Kubernetes, standalone, or in the cloud. It can access diverse data sources.

spark可以在任何的模式上运行,并且可以访问各式各样的外部数据源.

5.小结

fast + genernal engine 速度快的通用引擎

write code: Java/Scala/Python/R interactive shell

run: memory/DAG/thread model/…

4.Spark版本

以Saprk 1.6.0为例

1:表示major version APIs的变化,一般是大版本的API的更迭与更新

6:表示minor version APIs的变化,一版本是小版本APIS/features的添加

0:表示patch version的变化,一般是bug的修复

建议:一般选择非0版本,0版本可能有bug未被修复

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值