hadoop与hbase集成

h9a6wy2h  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(405)

我对大数据技术还不熟悉,我有一个关于hbase如何与hadoop集成的问题。“hbase位于hdfs之上”是什么意思。我的理解是hdfs是分布在多个节点上的结构化和非结构化数据的集合,hbase是结构化数据。
hbase如何与hadoop集成以提供对底层数据的实时访问。我们需要写一些特殊的作业来建立索引吗?换句话说,在hbase和hdfs之间是否有一个附加层,它在hbase所理解的结构中包含数据

5t7ly7z5

5t7ly7z51#

hdfs是一个分布式文件系统;人们可以对它执行大多数常规的fs操作,例如列出目录中的文件、编写常规文件、读取文件的一部分等等。它不再是ext4或ntfs文件系统所能提供的“结构化或非结构化数据的集合”。
hbase是一个内存中的键值存储,可以持久保存到hdfs(这不是一个硬性要求,您可以在任何分布式文件系统上运行hbase)。对于任何请求hbase的read key请求,它将首先检查运行时内存缓存以查看是否缓存了值,否则将访问hdfs上存储的文件以查找并读取特定值。hbase中提供了各种配置来控制缓存的使用方式,但是hbase的速度来自于缓存和索引持久性的结合(更快的文件读取)。
hbase基于hdfs的基于文件的持久性在写入时自动进行键索引,因此用户无需手动索引。这些文件是常规的hdfs文件,但专门用于hbase的格式,称为hfiles。
这些文章有些过时,但仍然非常能反映hbase使用的体系结构:http://blog.cloudera.com/blog/2012/06/hbase-write-path/ 以及http://blog.cloudera.com/blog/2012/06/hbase-io-hfile-input-output/,如果你想更深入的挖掘,应该会有所帮助。

cmssoen2

cmssoen22#

hdfs是一个分布式文件系统,hbase是一个nosql数据库,它依赖于hdfs文件系统来存储数据。
您应该仔细阅读这些技术,因为您的结构化/非结构化比较是不正确的。
更新
如果您对这些技术的起源感兴趣,您应该查看google文件系统、mapreduce和bigtable文件。
格玛瓦、桑杰、霍华德·戈比奥夫和梁顺德。”谷歌文件系统。“acm sigops操作系统评论。第37卷。5号。acm,2003年。
迪恩、杰弗里和桑杰·格马瓦。”mapreduce:大型集群上的简化数据处理〉,《acm 51.1通讯》(2008):107-113。
大表:一个分布式结构化数据存储系统〉,《计算机系统上的acm交易》(tocs)26.2(2008):4。

k97glaaz

k97glaaz3#

很容易理解:
hdfs是一个分布式文件系统,通过apped模型提供读写功能。
hbase是一个nosql数据库,它构建在hdfs文件系统上,必须依赖于hdfs文件系统。
可以在这里阅读:apachehbase文档

相关问题