gpt4 book ai didi

hadoop - 请澄清我对Hadoop/HBase的理解

转载 作者:可可西里 更新时间:2023-11-01 14:47:37 25 4
gpt4 key购买 nike

我已经阅读白皮书和观看 youtube 视频半天了,相信我对这项技术有正确的理解,但在我开始我的项目之前,我想确保它是正确的。

因此,这就是我认为我所知道的。

在我了解 hadoop 和 hbase 的架构时,它们几乎是这样建模的

-----------------------------------------
| Mapreduce |
-----------------------------------------
| Hadoop | <-- hbase export--| HBase |
| | --apache pig --> | |
-----------------------------------------
| HDFS |
----------------------------------------

简而言之,HBase 是一个完全不同的数据库引擎,针对实时更新和查询进行了调整,恰好在 HDFS 上运行并且与 Mapreduce 兼容。

现在,假设以上是正确的,下面是我认为我知道的其他内容。

  1. Hadoop 自始至终都是为大数据而设计的。该引擎使用分布式仅追加系统,这意味着您无法在插入数据后删除数据。要访问数据,您可以使用 Mapreduce 或 HDFS shell 和 HDFS API..
  2. Hadoop 不喜欢小块,它从来没有打算成为一个实时系统。您不想在每个文件中存储一个人和地址,实际上您会在每个文件中存储一百万个人和地址并插入大文件。
  3. 另一方面,HBase 是一个非常典型的 NoSql 数据库引擎,在精神上与 CouchDB、RavenDB 等相比。显着的区别是它使用 hadoop 的 HDFS 构建,允许它可靠地扩展到仅受钱包限制的大小。
  4. Hadoop 是文件系统 (HDFS) 和 Java API 的集合,用于在 HDFS 上执行计算。 HBase 是一个 NoSql 数据库引擎,它使用 HDFS 在集群中高效地存储数据
  5. 要构建一个 Mapreduce 作业以访问来自 Hadoop 和 HBase 的数据,最好使用 HBase export 将 HBase 数据推送到 Hadoop 并编写您的作业来处理数据,但是 Mapreduce 可以同时访问两个系统一次。
  6. 在设计 HBase 文件时必须非常小心,因为 HBase 本身不支持在该文件中索引字段,HBase 仅索引主键。许多提示和技巧有助于解决这个问题。

好的,如果我在这一点上仍然准确,这将是一个有效的用例。

您使用 HBase 构建站点。您可以像使用任何其他 NoSql 或 RDBMS 一样使用 HBase 来构建您的功能。一旦完成,您将您的指标记录点放在代码中以记录您的指标,比如 log4j。您在 log4j 中创建一个新的附加程序,其规则说明当日志文件的大小达到 1 gig 时,将其推送到 hadoop 集群,删除它,创建一个新文件,继续生活。

稍后,Mapreduce 开发人员可以编写一个例程,使用 HBase 导出从 HBase 中获取数据集,比如用户 ID 列表,然后转到存储在 Hadoop 中的日志并找到每个用户的面包屑痕迹在给定的时间跨度内通过系统。

好了,说了这么多,现在进入具体问题。陈述 1 - 6 准确吗?

**********编辑一个,我已经根据收到的答案更新了我的上述信念。

最佳答案

  1. 您可以通过HDFS shell 直接访问HDFS 中的文件。或 HDFS API .
  2. 正确。
  3. 我不熟悉 CouchDB 或 RavenDB,但是在 HBase 中你不能有二级索引,所以你必须仔细设计你的行键来加速你的查询。互联网上有很多 HBase 模式设计技巧,您可以通过谷歌搜索。
  4. 我觉得说Hadoop是数据库引擎的计算引擎更合适。如果要将 HDFS 数据导入 HBase,可以使用 this post 中所述的 Apache Pig .如果要将 HBase 数据导出到 HDFS,可以使用 export utility .
  5. MapReduce 是 Hadoop 框架的一个组件,它不位于 HBase 之上。您可以在 MapReduce 作业中访问 HBase 数据,因为 HBase 使用 HDFS 进行存储。我认为您不想直接从 MapReduce 作业访问 HFile,因为原始文件编码在 special format 中。 ,它不容易解析,并且在未来的版本中可能会发生变化。

关于hadoop - 请澄清我对Hadoop/HBase的理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14887876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com