大家好,又见面了,我是你们的朋友全栈君。
一、大数据的基本概念
摘要:大数据基本概念考点:大数据的4V特征、类型(结构化与非结构化大数据)、核心技术(分布式存储和分布式处理)、大数据计算模式(批处理计算、流计算、图计算、查询分析计算)、每类计算模式典型的代表产品。
- 大数据的4V特征 规模性大(volume)、多样性多(variety)、价值密度低(value)和高速性快(velocity)
- 大数据的类型 结构化大数据:能够用数据或统一的结构加以表示的,如数字、符号。传统的关系数据模型,行数据,存储于数据库,可用二维表结构表示。 非结构化大数据:是指其字段长度可变,并且每隔字段的记录又可以由可重复或不可重复的子字段构成的数据库,用它不仅可以处理结构化数据(如数字、符号等信息)而且更适合处理非结构化数据(全文文本,图像,声音,影视,超媒体等信息)。
- 核心技术 分布式存储:是将数据分散存储在多台独立的设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。 分布式处理:是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。
- 大数据计算模式 (1)批处理计算:针对大规模数据的批量处理。主要技术:MapReduce(仅适合离线批处理)、Spark等 (2)流计算:针对流数据的实时计算处理。主要技术:Storm、Flume、Streams、Puma、DStream、S4、SuperMario、银河流数据处理平台。 (3)图计算:针对大规模图结构数据的处理。主要技术:Pregel、GraphX、Giraph、PowerGraph、Hama、GoldenOrb等 (4)查询分析计算:大规模数据的存储管理和查询分析。主要技术:Hive、Impala、Dremel、Cassandra等。
二、Hadoop框架基础理论
摘要:Hadoop特性、核心模块与相应的主要功能(HDFS分布式文件系统、MapReduce计算模型)。 (1)HDFS文件系统基本内容:体系结构、HDFS实现的目标与局限性、HDFS的NameNode和DataNode的功能与模块(NameNode:FsImage与EditLog;DataNode:数据存储与检索)。 (2)MapReduce计算模型基本内容:体系结构(Client、JobTracker、TaskTracker以及Task)、优势(容错性好、硬件要求低、编程难度低、使用场景多等)、设计策略(分而治之、计算向数据靠拢、Master/Slave架构)。 (3)Map/Reduce的输入/输出和工作流程:Input->Map->Reduce->Output。
- Hadoop特性:高可靠性、高效性、高可扩展性、高容错性、成本低、运行在LInux平台上、支持多种编程语言 补充:Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群进行高速运算和存储。Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称 HDFS。
- Hadoop核心模块及对应的主要功能 (1)Hadoop Common 为其他Hadoop模块提供基础设施 (2)Hadoop HDFS一个高效、高吞吐量的分布式文件系统 (3)Hadoop MapReduce一个分布式的离线并行计算框架。将计算分为两个阶段:Map(并行处理输入的数据)和Reduce(对map结果进行汇总),shuffle连接Map和Reduce两个阶段,仅适合离线简单的批处理(高容错性和易扩展性),缺点是成本高、效率低。 (4)Hadoop YARN任务调度与资源管理
- HDFS文件系统基本内容 (1)体系结构:主从结构 1)NameNode:主节点 (职责是管理维护HDFS(主要维护两个文件:FsImage与EditLog):存放元数据信息,存储文件名称,文件属性,文件块列表,所在dn节点列表。) 补充: FsImage保存了最新的元数据检查点,包含了整个HDFS文件系统的所有目录和文件的信息。 EditLog主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到editlog中。 2)DataNode:从节点(数据存储与检索) 3)SecondaryNameNode:第二名称节点 (2)HDFS的目标:故障检测和快速自动恢复 (3)HDFS的局限性: 1)实时的数据访问弱:由于存储量大,所以读取数据慢。 2)大量小文件: 因为NameNode把文件系统的元数据放置在内存中,所以文件系统所能容纳的文件数目是由Namenode的内存大小来决定,影响性能, 3)不支持多用户写入,任意修改文件:HDFS文件只能有一个写入者,写数据只能在文件末尾添加,不支持多用户写者,不支持数据写入后在文件任意位置修改。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132858.html原文链接:https://javaforall.cn