Hadoop学习笔记(1) 初识Hadoop
1. Hadoop提供了一个可靠的共享存储和分析系统。HDFS实现存储,而MapReduce实现分析处理,这两部分是Hadoop的核心。
2. MapReduce是一个批量查询处理器,并且它能够在合理的时间范围内处理针对整个数据集的即时查询。
3. MapReduce适合一次写入、多次读取数据的应用,而关系型数据库更适合持续更新的数据集。二者的比较如表所述:
表1 关系型数据库和MapReduce的比较
传统关系型数据库 | MapReduce | |
数据大小 | GB | PB |
访问 | 交互式和批处理 | 批处理 |
更新 | 多次读写 | 一次写入、多次读取 |
结构 | 静态模式 | 动态模式 |
完整性 | 高 | 低 |
横向扩展 | 非线性 | 线性 |
4. MapReduce对半结构化和非结构化数据非常有效(如文本或图像),因为MapReduce输入的键和值并不是数据固有的属性,而是由分析数据的人员来选择的。而关系型数据往往是规范的,以保持数据的完整性且不含冗余。
MapReduce是一种线性可伸缩的编程模型。程序员编写两个函数:map和reduce,在每个函数定义一个键/值对集合到另一个键/值对集合的映射。这些函数无需关注数据集及其所用集群的大小,因此可以原封不动地应用到小规模或大规模数据集。
数据本地化特性是MapReduce的核心特征,MapReduce的设计目标是服务于那些只需数分钟或数小时即可完成的作业,并且运行于内部通过高速网络连接的单一数据中心内,并且该数据中心内的计算机需要由可靠的、定制的硬件构成。
5. Apache Hadoop的生态圈
1) Common: 一组分布式文件系统和通用I/O的组件与接口。
2) Avro:一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。
3) MapReduce:分布式数据处理模型和执行环境,运行于大型商用集群。
4) HDFS:分布式文件系统,运行于大型商用集群。
5) Pig:一种数据流语言和运行环境,用以检索非常大的数据集。
6) Hive:分布式、按列存储数据库,管理HDFS中存储的数据,并提供基于SQL的查询语言用以查询数据。
7) HBase:分布式、按列存储的数据库,使用HDFS作为底层存储,同时支持MapReduce的批量式和点查询。
8) ZooKeeper:分布式、可用性高的协调服务。
9) Sqoop:在数据库和HDFS之间高效传输数据的工具。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了