Hadoop 和 HBase

标签 hadoop hbase

您好,我是 hbase 和 hadoop 的新手。我找不到为什么我们将 hadoop 与 hbase 一起使用。我知道 hadoop 是一个文件系统,但我读到我们可以在没有 hadoop 的情况下使用 hbase 那么我们为什么要使用 hadoop?
谢谢

最佳答案

Hadoop 是一个允许我们以并行方式存储处理 跨机器集群的大量数据的平台。它是一个批处理系统,我们不必担心数据存储或处理的内部结构。

它不仅提供HDFS,用于可靠数据存储的分布式文件系统,还提供处理框架 MapReduce,允许跨机器集群处理庞大的数据集以并行方式。

Hadoop 的最大优势之一是它提供数据局部性。我的意思是,移动庞大的数据成本很高。 因此,Hadoop 将计算转移到了数据上。Hdfs 和 MapReduce 都经过高度优化,可以处理非常大的数据。

HDFS 通过数据复制确保高可用性和故障转移,因此如果集群中的任何一台机器由于某些灾难而宕机,您的数据仍然安全可用。

另一方面,HBase 是一个NoSQL 数据库。我们可以将其视为分布式、可扩展的大数据存储。 用来克服Hdfs“不能随机读写”的缺陷。

如果我们需要对数据进行随机、实时读/写访问,

Hbase 是一个合适的选择。它仿照 Google 的“BigTable”,而 Hdfs 仿照 GFS(Google 文件系统) .

没有必要仅在 Hdfs 之上使用 Hbase。我们可以将 Hbase 与其他持久存储(如“S3”或“EBS”)一起使用。 如果想深入了解Hadoop和Hbase,可以访问各自的主页-“hadoop.apache.org”和“hbase.apache.org”。

如果想深入学习《Hadoop.The.Definitive.Guide》和《HBase.The.Definitive.Guide》也可以翻阅以下书籍。

关于Hadoop 和 HBase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10664939/

相关文章:

Hadoop reducer 数量配置选项优先级

hadoop - 在 MapReduce 中以最佳方式执行 HBase 查询

hadoop - 如何组成具有可变长度成分的 HBase 键

SQL Server 规范化以提高性能

hadoop - 如何查看hadoop上安装的pig版本

java - 没有选择子句的 Hadoop 插入

hadoop - 将数据放入数据库时​​使用 hbase java 客户端时出现问题

ubuntu - 创建表时出现 HBase 错误

hadoop - 使用Hive插入hbase表(Hadoop)

hadoop - 无法使用具有不同分隔符的 Sqoop 从 MySql 导入数据