Hadoop 的正确发音是 “哈杜普”(Huh-DOP)
Hadoop 是一个开源的分布式存储和计算框架,具有以下优势和劣势:
优势:
可扩展性:Hadoop 能够处理PB级别的数据,通过增加更多的节点来扩展系统容量,满足不断增长的数据处理需求 1。
高容错性:采用分布式存储技术,数据自动复制到多个节点上,即使部分节点出现故障,也能保证数据不丢失,系统依然可用 1。
成本效益:作为开源软件,Hadoop 可以运行在普通的硬件集群上,降低了硬件成本,同时减少了软件授权费用 1。
高效性:Hadoop 采用 MapReduce 编程模型进行数据处理,能够充分利用集群中的所有计算资源,提高数据处理速度 1。
灵活性:支持多种数据存储格式,可以处理结构化、半结构化和非结构化数据,同时支持各种类型的数据处理任务 1。
可移植性:可以部署在多种硬件平台上,包括廉价的商用服务器和云计算环境 1。
社区支持:作为开源项目,Hadoop 拥有庞大的社区支持,用户可以获得丰富的文档、教程和社区帮助 1。
生态系统丰富:围绕 Hadoop 构建了一个强大的生态系统,包括 Hive、Pig、HBase、Spark 等工具和组件,满足不同的数据处理需求 1。
劣势:
低延迟数据访问不适用:Hadoop 不适用于需要低延迟数据访问的场景 15。
存储大量小文件效率低:Hadoop 不能高效存储大量小文件,这会导致 NameNode 内存消耗过大,且小文件的寻址时间可能超过读取时间 15。
不支持多用户写入和文件随机修改:Hadoop 不支持多用户写入并任意修改文件,一个文件只能有一个写操作,并且仅支持数据追加,不支持文件的随机修改 15。
在选择 Hadoop 作为大数据处理框架时,需要根据具体的使用场景来决定。如果需要处理大规模批处理任务,并且对容错性和稳定性要求较高,Hadoop 是一个不错的选择。然而,对于需要实时数据处理、交互式查询和迭代算法等任务,可能需要考虑其他框架,如 Spark,它提供了更高的性能和灵活性
MapReduce工作原理及基础编程
Hadoop入门