Spark基础篇

640?wx_fmt=png

Spark概述

640?wx_fmt=png

Spark是一种快速、通用、可扩展的大数据分析引擎,Spark生态系统是一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,Spark是基于内存计算的大数据并行计算框架,提高了在大数据环境下数据处理的实时性 , 同时保证了高容错性合高可伸缩性,允许用将Spark布置在大量廉价硬件之上,形成集群。

640?wx_fmt=png

Spark发展史

640?wx_fmt=png

2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。

640?wx_fmt=png

Spark的特点

640?wx_fmt=png

 1.快: 与hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上。Spark实现高效的DAG执行引擎,可以通过基于内存来高效处理数据流。

 2.易用:Spark支持Java,Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。

 3.通用:Spark提供了统一的解决方案。可以用于批处理,交互式查询,实时流处理,机器学习和图计算。

 4.兼容性:Spark可以非常方便地与其他的开源产品进行融合。Spark可以运行在Hadoop,Mesos,Kubernets,standalone或者云上。

640?wx_fmt=png

RDD概述

640?wx_fmt=png

RDD是一个弹性的分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变,可分区,里面的元素可并行计算的集合。

640?wx_fmt=png

RDD特性

640?wx_fmt=png

1.A list of partitions一个分区列表,RDD中的数据都存在一个分区列表里面。

2.A function for computing each split作用在每一个分区中的函数。

3.A list of dependencies on other RDDs一个RDD依赖于其他多个RDD,这个点很重要,RDD的容错机制就是依据这个特性而来的。

4. Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)可选的,针对于kv类型的RDD才具有这个特性,作用是决定了数据的来源以及数据处理后的去向。

5.Optionally, a list of preferred locations to compute each split on (e.g. block locations for an HDFS file)可选项,数据本地性,数据位置最优。

640?wx_fmt=jpeg

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值