走进Spark
A.Spark是什么?
快如闪电的搜索引擎
是一个通用的分析引擎,用来进行大规模的数据处理
实际上Spark同样也是解决了大数据怎么计算的问题
Spark的特点:
1,速度快:
比hadoop 2.x mapreduce快100多倍,在磁盘上处理数据也比mr快10块
因为Spark基于内存运算,Spark基于特有的DAG有向无环图。
2.易用性
允许多种语言(java,scala,r,sql)快速编写程序,提供了80多种高级操作算子,写程序更加方便
3.通用性:
无缝整合一些组件(Sparksql,sparkStreaming) 一个技术栈能做所有事.
4.运行在任何地点:
Spark可以运行hadoop hdfs上,独立或者云上
Spark可以访问接受不同的数据源
Spark搭建环境三种模式:
(1),本地模式,不涉及集群,用多线程模拟集群效果
(2).Standalone 独立模式 相当于我们hadoop伪分布式
(3).onyarn 相当于完全分布式,在hdfs上搭建
B.Spark替代hadoop?
错误的,Spark解决了大数据怎么算的问题.
hadoop解决存储跟计算.
C.Spark技术栈(一个技术栈能完成任何事情)(技术栈就是Sapark组件)
a,SparkSql (用于处理结构化数据)
b,SparkStreaning (微批实时处理:伪实时处理):每一批数据128m,装入一电梯里面,每一批数据处理的快,达到秒级别。
c. Milib 机器学习
d. Graphx 图处理
e, R r语言包
D.Spark 与Hadoop进行对比
速度上 Spark 比hadoop mr 快(mr慢:磁盘io次数太多,慢,开销比较大)
硬件上:Spark 基于内存(好,128g,整体硬件要求都非常高,成本高)hadoop 廉价机,成本低
E.Spark核心:RDD(弹性分布式数据集)
1,通过现有的集合创建出rdd
2,从存储里面去创建rdd
F:Rdd:五个特性:
1.多个分区的集合
2.一个函数可以计算多个切片
3.每一个rdd都依赖于其他rdd
4.可以将rdd中的分区重新分区
5.本地切片将在本地运算(数据本地性)