第一章初识Hadoop大数据技术1.大数据的定义“大数据”是一个涵盖多种技术的概念用传统软件处理不了要用新处理模式如分布式云计算才能处理的信息资产。国际商用机器公司IBM将“大数据”的特征定义为“四个V”Volume大量化、Variety多样化、Velocity快速化、Value价值密度低Volume数据规模大从TB级别跃升到PB级别1PB10亿TBVariety数据类型多来源和格式多除了结构化表格数据还有日志、图片、视频、地理位置等非结构化数据Velocity产生和处理速度极快要求实时或接近实时如股市交易、传感器监控Value单条数据价值不高。可以从一下这几个方面来理解①数学层面噪声大于信号单个数据点充满了随机性和偶然性。比如你手机定位显示“你此刻在商场3楼”但这个单点信息可能是你去上厕所、路过或者找人它无法判断你的真实意图。只有当几万条定位数据结合起来形成轨迹流时随机波动噪声才会被抵消清晰的规律信号才会浮现比如“每周六下午固定去3楼电影院”。 ②商业层面缺乏“参照系”单条数据没有对比维度则无法产生洞察。假设系统显示“你今天走了8000步”这个数值高吗如果对比你过去三个月的平均值5000步它很高如果对比一个马拉松运动员它很低。所以说单条数据只是“状态”不是“情报”只有叠加了时间、人群、场景等维度后它才能变成决策依据。 ③技术层面存在“脏数据”风险。在现实世界中单条数据有极高的概率是错误或无效的比如传感器失灵、用户误触、网络丢包等。大数据的处理逻辑是“用数量换质量”因为数据量足够大哪怕含有少量错误统计结果也依然趋向真实分布大数定律随着应用数据规模的急剧增长传统的系统的方法难以提供足够的存储和计算资源进行数据的处理大数据面对的基本的问题也是最核心的问题就是海量数据如何可靠存储和如何高效计算的问题。2.Google的“三驾马车”Google公司的三篇论文GFS、MapReduce、BigTable奠定了大数据技术的基石。GFSThe Google File System描述了一个分布式文件系统的设计思路。分布式文件系统有两个基本组成部分客户端Client和服务端Sever。服务端采用数据冗余存储的方式进行数据存储同一份文件多保存几份。管理节点来管理存放这些数据的主机存放数据的节点成为数据节点。被上传至服务端进行保存的文件会按固定大小进行分块而数据节点保存的就是这些数据块数据块的冗余度默认是3数据的冗余度 数据总份数 / 原始数据大小为3就是你上传一个文件该文件会被切分成许多数据块每个数据块就会被完整地复制成3份相当于该文件被复制成了3份。在管理节点中会记录数据块的文件名、文件大小、上传时间、数据块的位置信息在哪个数据节点上等元信息然后管理节点再把这些数据块先上传到第一个数据节点接着通过水平复制将数据块复制到其他数据节点上MapReduce采用“分而治之”的思想把对大规模数据的操作分发给一个主节点管理下的各个子节点共同完成然后汇总各个子节点的中间结果得到最终的计算结果。即“分散任务汇总结果”BigTableGFS解决的是“数据怎么安全地分散在大量廉价的机器上”的问题BigTable解决的是“在数据已经分散存储的前提下如何高效地按条件检索和修改具体条目”的问题。GFS是低级物理层负责把数据在硬盘上存储安全BigTable是楼房逻辑层在GFS上。当BigTable收到”查询ID_12345“的指令时它会先找到这个ID对应的数据分布在GFS中的哪几个大块里然后去GFS里把那些二进制块读出来解析成表格行最后返回给你3.Hadoop概述Hadoop是由Apache基金会发布的一个开源的分布式系统基础架构它解决了”单台电脑装不下大数据算不动大数据“的难题把成千上万台服务器虚拟成一台”超级计算机“来使用。让你能用一堆普通的廉价机器来存储海量数据并计算它们。1.Hadoop对Google公司三篇论文思想的实现(1)HDFSHDFS(Hadoop Distributed File System)是Hadoop的核心是分布式计算中数据存储管理的基础它是对Google公司的GFS论文思想的实现。HDFS由名称节点NameNode、数据节点DataNode、第二名称节点SecondaryNameNode组成。其中NameNode是管理节点存储数据块的元数据。SecondaryNameNode默认在NameNode上DataNode则负责存储实际的数据数据块(2)MapReduceHadoop中的MapReduce与Google公司的MapReduce论文所提的实现思路是一致的(3)BigTableHBase是一个分布式的、面向列的开源数据库它是在Hadoop之上提供了类似于BigTable的能力是对Google公司的BigTable论文思想的实现2.Hadoop版本的演变Hadoop经历了三代版本的演变即Hadoop1.x、Hadoop2.x、Hadoop3.xHadoop2.x在Hadoop1.x基础上采用了全新的架构最明显的变化就是增加了YARN通用资源调度框架Hadoop3.x的JDK版本最低依赖从1.7变成了1.8还有很多其他的变化。3.Hadoop的生态圈狭义的Hadoop一个适合大数据分布式存储和分布式计算的平台包括HDFS、MapReduce、YARN广义的Hadoop是以Hadoop为基础的生态系统是一个很庞大的体系Hadoop是其中最重要最基础的一个部分生态系统中的每一个子系统只负责解决某一个特定的问题域。比如包括HDFS分布式文件系统、MapReduce分布式并行编程模型、YARN资源调度框架、HBase建立在Hadoop文件系统上的分布式的列数据库、HiveHadoop上的大数据框架等等4.Hadoop现在的情况至2026年6月(1)Hadoop的主要应用场景Hadoop作为企业数据架构的基石海量数据的“数据湖”与归档这是Hadoop最经典和最核心的应用。它像一个巨大且廉价的仓库可以存储任何格式结构化、半结构化、非结构化的海量原始数据。很多企业用它来存放历史日志、点击流、物联网传感器数据等以备未来的分析和挖掘。大规模离线批处理尽管有更块的计算引擎在HDFSHadoop分布式文件系统仍是大规模数据批处理的理想存储层。企业会在夜间运行复杂的作业对TB甚至PB级的数据进行清洗、转换和聚合为第二天的商业报表或AI模型准备好数据。跨行业的各类分析Hadoop的应用已经渗透到各行各业。在金融领域用于处理海量交易数据用于实时风控、反欺诈和客户画像。在零售和电商领域用于分析用户行为日志构建个性化推荐系统、优化库存和供应链。在制造业用于集成设备数据的分析实现预测性维护降低设备故障率(2)Hadoop现今的发展趋势截至2026年6月Hadoop早已不是一个前言技术名词而是变成了像“数据库”一样成熟且不可或缺的基础设施。它没有消失而是进化成了一个庞大生态系统的核心并在云原生和AI的浪潮中找到了新的定位。严格来说纯原生的HadoopMapReduce在企业里已经不太直接使用因为太笨重慢但现在所有的大数据技术如Spark、Flink、Hive等都离不开HDFS也就是说HDFS作为存储地基依然无可替代只是把计算引擎从MapReduce换成了更快的Spark。这里简单了解一下Spark。Spark是一个开源的分布式计算引擎其核心作用就是对海量数据进行快速、高效的分析和处理。Hadoop MapReduce作为老工人经典干活非常踏实但有一个“致命弱点”----- “死脑筋”每做一个步骤先过滤再汇总它都必须把中间结果写到硬盘HDFS上下一个步骤再从硬盘读取出来。这种”硬盘往返“导致数据极慢只适合做隔夜跑批。而Spark是特种兵核心绝技是”内存计算“它能将中间结果直接缓存在内存里多个计算步骤在内存中一气呵成只有最终结果才返回硬盘。因此Spark在复杂场景下的运算速度会比MapReduce块很多10倍~100倍Spark除了数据更快还提供了更高级、更简洁的API支持Java、Scala、Python和R。而MapReduce只能写复杂的Java代码。但是Spark并没有取代Hadoop而是在Hadoop中把计算引擎从MapReduce换成了Spark而已。Spark没有自己的存储系统依然依赖于Hadoop的HDFS来存储海量数据。且Spark可以运行在Hadoop中的YARN上让YARN来管理CPU和内存资源。
HadoopSummary
发布时间:2026/6/20 8:55:35
第一章初识Hadoop大数据技术1.大数据的定义“大数据”是一个涵盖多种技术的概念用传统软件处理不了要用新处理模式如分布式云计算才能处理的信息资产。国际商用机器公司IBM将“大数据”的特征定义为“四个V”Volume大量化、Variety多样化、Velocity快速化、Value价值密度低Volume数据规模大从TB级别跃升到PB级别1PB10亿TBVariety数据类型多来源和格式多除了结构化表格数据还有日志、图片、视频、地理位置等非结构化数据Velocity产生和处理速度极快要求实时或接近实时如股市交易、传感器监控Value单条数据价值不高。可以从一下这几个方面来理解①数学层面噪声大于信号单个数据点充满了随机性和偶然性。比如你手机定位显示“你此刻在商场3楼”但这个单点信息可能是你去上厕所、路过或者找人它无法判断你的真实意图。只有当几万条定位数据结合起来形成轨迹流时随机波动噪声才会被抵消清晰的规律信号才会浮现比如“每周六下午固定去3楼电影院”。 ②商业层面缺乏“参照系”单条数据没有对比维度则无法产生洞察。假设系统显示“你今天走了8000步”这个数值高吗如果对比你过去三个月的平均值5000步它很高如果对比一个马拉松运动员它很低。所以说单条数据只是“状态”不是“情报”只有叠加了时间、人群、场景等维度后它才能变成决策依据。 ③技术层面存在“脏数据”风险。在现实世界中单条数据有极高的概率是错误或无效的比如传感器失灵、用户误触、网络丢包等。大数据的处理逻辑是“用数量换质量”因为数据量足够大哪怕含有少量错误统计结果也依然趋向真实分布大数定律随着应用数据规模的急剧增长传统的系统的方法难以提供足够的存储和计算资源进行数据的处理大数据面对的基本的问题也是最核心的问题就是海量数据如何可靠存储和如何高效计算的问题。2.Google的“三驾马车”Google公司的三篇论文GFS、MapReduce、BigTable奠定了大数据技术的基石。GFSThe Google File System描述了一个分布式文件系统的设计思路。分布式文件系统有两个基本组成部分客户端Client和服务端Sever。服务端采用数据冗余存储的方式进行数据存储同一份文件多保存几份。管理节点来管理存放这些数据的主机存放数据的节点成为数据节点。被上传至服务端进行保存的文件会按固定大小进行分块而数据节点保存的就是这些数据块数据块的冗余度默认是3数据的冗余度 数据总份数 / 原始数据大小为3就是你上传一个文件该文件会被切分成许多数据块每个数据块就会被完整地复制成3份相当于该文件被复制成了3份。在管理节点中会记录数据块的文件名、文件大小、上传时间、数据块的位置信息在哪个数据节点上等元信息然后管理节点再把这些数据块先上传到第一个数据节点接着通过水平复制将数据块复制到其他数据节点上MapReduce采用“分而治之”的思想把对大规模数据的操作分发给一个主节点管理下的各个子节点共同完成然后汇总各个子节点的中间结果得到最终的计算结果。即“分散任务汇总结果”BigTableGFS解决的是“数据怎么安全地分散在大量廉价的机器上”的问题BigTable解决的是“在数据已经分散存储的前提下如何高效地按条件检索和修改具体条目”的问题。GFS是低级物理层负责把数据在硬盘上存储安全BigTable是楼房逻辑层在GFS上。当BigTable收到”查询ID_12345“的指令时它会先找到这个ID对应的数据分布在GFS中的哪几个大块里然后去GFS里把那些二进制块读出来解析成表格行最后返回给你3.Hadoop概述Hadoop是由Apache基金会发布的一个开源的分布式系统基础架构它解决了”单台电脑装不下大数据算不动大数据“的难题把成千上万台服务器虚拟成一台”超级计算机“来使用。让你能用一堆普通的廉价机器来存储海量数据并计算它们。1.Hadoop对Google公司三篇论文思想的实现(1)HDFSHDFS(Hadoop Distributed File System)是Hadoop的核心是分布式计算中数据存储管理的基础它是对Google公司的GFS论文思想的实现。HDFS由名称节点NameNode、数据节点DataNode、第二名称节点SecondaryNameNode组成。其中NameNode是管理节点存储数据块的元数据。SecondaryNameNode默认在NameNode上DataNode则负责存储实际的数据数据块(2)MapReduceHadoop中的MapReduce与Google公司的MapReduce论文所提的实现思路是一致的(3)BigTableHBase是一个分布式的、面向列的开源数据库它是在Hadoop之上提供了类似于BigTable的能力是对Google公司的BigTable论文思想的实现2.Hadoop版本的演变Hadoop经历了三代版本的演变即Hadoop1.x、Hadoop2.x、Hadoop3.xHadoop2.x在Hadoop1.x基础上采用了全新的架构最明显的变化就是增加了YARN通用资源调度框架Hadoop3.x的JDK版本最低依赖从1.7变成了1.8还有很多其他的变化。3.Hadoop的生态圈狭义的Hadoop一个适合大数据分布式存储和分布式计算的平台包括HDFS、MapReduce、YARN广义的Hadoop是以Hadoop为基础的生态系统是一个很庞大的体系Hadoop是其中最重要最基础的一个部分生态系统中的每一个子系统只负责解决某一个特定的问题域。比如包括HDFS分布式文件系统、MapReduce分布式并行编程模型、YARN资源调度框架、HBase建立在Hadoop文件系统上的分布式的列数据库、HiveHadoop上的大数据框架等等4.Hadoop现在的情况至2026年6月(1)Hadoop的主要应用场景Hadoop作为企业数据架构的基石海量数据的“数据湖”与归档这是Hadoop最经典和最核心的应用。它像一个巨大且廉价的仓库可以存储任何格式结构化、半结构化、非结构化的海量原始数据。很多企业用它来存放历史日志、点击流、物联网传感器数据等以备未来的分析和挖掘。大规模离线批处理尽管有更块的计算引擎在HDFSHadoop分布式文件系统仍是大规模数据批处理的理想存储层。企业会在夜间运行复杂的作业对TB甚至PB级的数据进行清洗、转换和聚合为第二天的商业报表或AI模型准备好数据。跨行业的各类分析Hadoop的应用已经渗透到各行各业。在金融领域用于处理海量交易数据用于实时风控、反欺诈和客户画像。在零售和电商领域用于分析用户行为日志构建个性化推荐系统、优化库存和供应链。在制造业用于集成设备数据的分析实现预测性维护降低设备故障率(2)Hadoop现今的发展趋势截至2026年6月Hadoop早已不是一个前言技术名词而是变成了像“数据库”一样成熟且不可或缺的基础设施。它没有消失而是进化成了一个庞大生态系统的核心并在云原生和AI的浪潮中找到了新的定位。严格来说纯原生的HadoopMapReduce在企业里已经不太直接使用因为太笨重慢但现在所有的大数据技术如Spark、Flink、Hive等都离不开HDFS也就是说HDFS作为存储地基依然无可替代只是把计算引擎从MapReduce换成了更快的Spark。这里简单了解一下Spark。Spark是一个开源的分布式计算引擎其核心作用就是对海量数据进行快速、高效的分析和处理。Hadoop MapReduce作为老工人经典干活非常踏实但有一个“致命弱点”----- “死脑筋”每做一个步骤先过滤再汇总它都必须把中间结果写到硬盘HDFS上下一个步骤再从硬盘读取出来。这种”硬盘往返“导致数据极慢只适合做隔夜跑批。而Spark是特种兵核心绝技是”内存计算“它能将中间结果直接缓存在内存里多个计算步骤在内存中一气呵成只有最终结果才返回硬盘。因此Spark在复杂场景下的运算速度会比MapReduce块很多10倍~100倍Spark除了数据更快还提供了更高级、更简洁的API支持Java、Scala、Python和R。而MapReduce只能写复杂的Java代码。但是Spark并没有取代Hadoop而是在Hadoop中把计算引擎从MapReduce换成了Spark而已。Spark没有自己的存储系统依然依赖于Hadoop的HDFS来存储海量数据。且Spark可以运行在Hadoop中的YARN上让YARN来管理CPU和内存资源。