hadoop学习笔记之初识
现实:数据量不断快速增加
问题:硬盘容量增加的同时,数据从硬盘的读取速度为增加
解决方案:将文件分散的保存在多个磁盘上,同时从多个磁盘上并行读取数据
挑战1:
解决硬件故障:为了避免数据丢失,通过系统保存数据的冗余副本,发生故障时,使用数据的另一份副本。
挑战2:从多个磁盘中取出分散的数据后,需要将数据合并,并保证正确性。
引出:
hadoop提供稳定的共享存储和分析系统,存储有HDFS实现,分析由MapReduce实现
优势:
1、磁盘驱动器的发展趋势:寻址时间的提速远远慢于传输速率的提速
2、更新大部分数据库数据时,B树(关系型数据库使用的数据结构)效率没有MapReduce高
擅长领域:
RDBMS适用于点查询和更新(持续更新的数据集)
MapReduce适合数据被一次写入和多次读取的应用
区别:
Apache Hadoop项目:
core:一系列分布式文件系统和通用I/O的组件和接口(序列化、RPC、持久化数据结构)
Avro:高效、跨语言RPC的数据序列系统,持久化数据存储。(在建)
MapReduce:分布式数据处理模式和执行环境,用于大型商用机集群
DDFS:分布式文件系统,用于大型商用机集群
Pig:数据流语言和运行环境,用意见所非常大的数据集
HBase:分布式的、列存储数据库,使用HDFS作为底层存储,支持MapDReduce的批量试计算和点查询
ZooKeeper:分布式的、高性能的协调服务、提供分布式锁之类的基本服务用于构建分布式应用
Hive:分布式数据仓库,管理HDFS中存储的数据,提供基于SQL的查询语言用以查询数据
Chukwa:分布式数据收集和分析系统,运行HDFS中存储数据的收集器,使用MapReduce生成报告