大数据相关概念(二)数据存储

发布网友 发布时间:2024-11-28 23:44

我来回答

1个回答

热心网友 时间:2025-01-01 22:32

HBase是一个高效、可靠、面向列的分布式存储系统,专为大规模数据存储而设计。它能在经济实惠的PC服务器集群上运行,处理由万行和列构成的大型数据集。HBase与离线批处理框架MapReduce不同,具备随机访问数据的能力,弥补了HDFS不能随机访问的缺陷,适合实时性要求不高的业务场景。存储的都是Byte数组,它不区分数据类型,支持灵活多变的数据模型。

Hadoop 2.0生态系统中,HBase位于结构化存储层,与HDFS、MapReduce、Zookeeper、Pig、Hive和Sqoop协同工作。HDFS提供高可靠性的底层存储支持,MapReduce提供高性能的批处理能力,Zookeeper确保稳定服务和failover机制,Pig和Hive提供数据统计处理的高级语言支持,而Sqoop则为从传统数据库向HBase迁移提供便捷的数据导入功能。

HBase基于列存储,构建在HDFS之上,旨在存储海量结构化数据。其基本架构包括Clinet、HMaster、HRegionServer和ZooKeeper组件。适用场景包括数据量大、一次写入多次读出、适合数据分析等。不适用场景为频繁修改文件或需要实时更新的业务场景。

SpringBoot案例中,第一步引入相关依赖,第二步增加配置,通常采用application.yml方式,简化xml配置。第三步在service类中注入HBaseTemplate。

HDFS是分布式文件管理系统的一种,用于存储和管理文件。它通过目录树结构定位文件,并由多台服务器联合实现其功能,集群中的服务器角色不同。适用于大数据分析,不适用于频繁修改和实时应用。

HDFS优缺点明显,其优点在于高可靠性、高容错性和大规模数据存储能力。缺点包括数据读写延迟、不适合小文件存储等。

HDFS的组成架构包括文件块大小、文件物理存储和元数据管理。文件块大小可通过配置参数dfs.blocksize调整,默认为128MB。寻址时间与传输时间的理想比例为100:1,以确保最佳性能。

HDFS写数据流程包括客户端与NameNode交互,检查文件存在性及父目录,NameNode选择最近的DataNode接收数据。机架感知技术确保数据写入时选择最接近的数据节点。

HDFS读数据流程涉及客户端与NameNode交互,NameNode通过元数据查询找到文件块的DataNode地址。DataNode工作机制涉及数据块以文件形式存储,包括数据本身和元数据。数据完整性通过计算Checksum实现。

在HDFS中设置掉线时限参数,通过[hdfs-site.xml]文件进行配置。新数据节点加入集群的步骤包括将java、hadoop、profile发送至新主机,source配置文件并启动。

HDFS 2.X引入新特性,包括集群间数据拷贝和小文件存档功能,采用distcp命令实现两个Hadoop集群之间的数据复制,以及优化小文件存储效率。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com