一:大数据
1:概念
就是巨大的数据,TB,EB,ZB,YB等,就是传统的数据库不能处理,具有海量的数据规模,快速的数据流转(实时性),多样的数据类型(从单一的变成了多种的),价值密度(多数据,并且有效数据多,利润价值大)
2:特征
大量:很多数据,并且一台计算机处理不了的数据
多样:结构化数据,非结构化数据
a:结构化数据,就是完整的数据,严格的数据格式和长度规范,如,银行,就是数据库中有的数据类型
b:非结构化数据,就是不完整的数据,不规则,如,办公文档,文本,图片等
价值密度:就是在大量的数据中,有用的数据占大多数
高速:就是实时更新快速
3:应用场景(意义)
大量的数据进行研究,建立新的数据思维模型,对未来预测,精准推送
二:hadoop组件
1:概念
开源的分布式计算框架,主要存储和处理大规模的数据
特点:
1)成本低:就是可以部署在廉价的机器上面,不需要很高的硬件配置
2)高效率:分布式,在多个主机上面运行
3)可靠性:主备服务器,有备份的,如果文件丢失,可以恢复
4)扩容能力强:因为是分布式的结构,所以的话增加更多的节点,就可以扩展存储容量
缺点:不能处理小的数据,浪费了
2:组件
主要的就是DFS和MapReduce机制解决了存储和计算的问题,要钱,不开源
生态系统:
HDFS:分布式文件系统,存储管理
yarn:是一个资源管理框架,资源管理和调度的
MapReduce:计算模型
spoop(数据迁移工具):数据导入和导出的工具,hadoop和传统的数据库进行数据交换
mahout(数据挖掘算法库):快速的创建管理智能应用程序
hbase:针对结构数据的可伸缩性,高可靠性
zookeeper(分布式协作服务):分布式应用程序协调服务
flume:日志的收集工具,恢复
3:解决的问题
1:大规模数据存储
可以将数据存储在很多的节点上面
2:高数据处理
同时运行在多个节点上面,效率快一点
3:灵活数据处理和分析
支持多种编程语言。提供了多种数据处理和分析的方式
三:spark组件
1:图片
2:详细介绍
spark sql(即席查询):,用户通过sql语句来查询数据
spark streaming(实时流处理):实时数据流计算,就是进行一个数据的实时同步
spark mLlib(机器学习库):机器学习算法,主要分为回归,聚类,协同过滤等,即席查询所有这些方法都被设计为可以在集群上轻松伸缩的架构。
graphx(图计算):面向图计算提供的框架与算法库,提出了弹性分布式属性图的概念,并在此基础上实现了图视图与表视图的有机结合与统一
3:特点
快速:就是基于这个内存的计算,不是基于这个磁盘的读写
易用:就是支持使用多个的编程语言,java,python,scala等
运行范围广:spark 可以运行在 local、yarn(资源管理器)、mesos(资源管理框架)、standalone(独立)、kubernetes(容器) 等多种平台之上。它可以访问诸如 HDFS, Cassandra, HBase, S3 等多种多样的数据源。
四:mapreduce组件
概念:一个分布式运算程序的编程框架,主要是处理计算的
分为2个阶段,map和reduce阶段,就是先将复杂的任务分解成若干个小任务进行处理,reduce阶段是将mapper阶段得到的结果进行汇总
总结:map现将数据先分reduce后和
1)首先先将计算的数据在client端,生成切片(对数据进行划分),生成的切片个数对应着启动多少个maptask程序进行map阶段的计算
2)多个maptask程序是并行的运行的。互不相干
3)每个maptask中对数据的处理要考虑很多的细节,是否有分区,如何排序,书写磁盘等,
4)多个map task计算完成后,每个map task都会有输出的数据
5)会根据分区的个数决定启动多少个reduce task
五:
标签:map,hadoop,了解,计算,spark,数据,分布式 From: https://www.cnblogs.com/qm77/p/18050421