大数据的核心:
海量数据分析
—————————————————————功能划分—————————————————————————————
海量数据存储
HDFS,Hive(本质还是HDFS),HBASE(底层依旧是HDFS)
数据清洗
MapReduce,Hive(ETL),SparkCore
海量数据分析
MapReduce,SparkSQL,hive(SQL),impala
数据展示
javaweb,帆软,hcharts,echarts
幽梦,百度,帆软
————————————第一方面:大数据离线分析————————————————————————————————————————————————
Hadoop 2.x(Common,HDFS,MapReduce,Yarn):
储存,分析
环境搭建,处理数据思想
功能:
储存数据(HDFS)
数据分析(mapReduce)
介绍:
Apache的顶级项目
包含的模块:
Common:公共的工具,为其他模块提供支撑
HDFS:是一个分布式文件系统,提供高吞吐量数据储存
将数据化为很多小块,默认一块block(128MB)500M分4块,每块存储3份
主节点:NameNode
决定数据存储在那个Datanode
管理元素,索引
管理元数据
存在内存,也存在磁盘,就是文件<fsimage>
管理从节点
处理客户端发过来的请求
启动过程:
加载Fsimage中内容到内存中,同步HDFS的变化
SecondaryNameNode功能:
辅助nameNode同步本地元数据
fsimge(old)+edits = fsimage(new)
edits记录了HDFS的修改操作,不能丢失,通过edits日志文件信息,可以解析得到元数据
合并过程中,合并到fs.temp文件,完成后修改名字为fsimage删除fs.temp
从节点:DataNode
存储,管理(当前机器)
MapReduce:大数据集合的并行计算,分而治之思想
将数据划分为多个部分,单独处理,最后将处理结果进行合并
Map:(MapTask)
处理数据
Reduce:(ReduceTask)
合并MapTask输出的结果数据
MapReduce编程
1)工程导入
2)HDFS API
3)MapReduce处理数据流程
在整个MapRedue程序中,所有的数据流程流式都是键值对(Key-value)
MapReduce执行过程
Input->Map->shuffle->Reduce->Output
Input:读取HDFS上数据 输出K,v
Mapper:通过空格分隔,取出里面的单词
shuffle:分区
决定key交由哪个reduce处理
默认:按照key的hash值对reduce个数取余
分组 将相同Key的value放到一个集合中
排序 按照字典顺序排序
****************优化:
combiner合并
在map阶段提前进行了一次合并,等同于提前执行reduce操作
好处:可以降低reduce的压力
不是所有程序都适合
compress压缩
减少磁盘IO以及网络IO
Reduce:(处理)将集合里面的值拿出来相加
Output:将内容写到HDFS文件中
YARN:任务调度和分布式集群资源管理框架
管理CPU和内存,分配给MapReduce 程序的运行
主节点:Resourcemanager
管理子
相应客户要求
任务调
大数据从入门到放弃
最新推荐文章于 2021-11-13 17:49:18 发布
本文详细介绍了大数据的入门路径,包括基础知识的学习、实践操作和思维导图的构建,帮助读者逐步理解大数据的核心概念和应用场景,旨在为初学者提供全面的入门指导。
摘要由CSDN通过智能技术生成