gpt4 book ai didi

hadoop - 为什么使用 MapReduce 与 HBase shell 过滤器

转载 作者:可可西里 更新时间:2023-11-01 15:11:15 26 4
gpt4 key购买 nike

我需要在HBase上查询数据。我的查询如下所示:

  • 显示“authorD”的所有书籍。
  • 数据库中有多少作者“authorA”的书?

据我所知,您可以使用 MapReduce 或 HBase 外壳过滤器来做到这一点。如果我错了,请纠正我。

我的问题是:如果我可以使用它的过滤器在 HBase shell 上执行相同的操作(无需编程),我为什么要使用 MapReduce(需要编程)?

感谢您的回答。祝你有美好的一天。

最佳答案

有 3 种方法可以从 Hbase 中获取结果。

1) Shell :这是用于对少量数据进行简单可靠的数据分析。这适用于少量数据,供开发人员分析。如果您直接知道您的行键,您可以快速获取数据

2) Hbase 非批处理客户端:例如连接到 Hbase 的 Java 客户端应用过滤器并获取结果这也适用于少量数据。

为什么 mapreduce Hbase API

What happens if your data is huge and you need to process... in that case, Either your hbase shell will hang and it will become un-responsive or continuous flow of data will be there which will be scrolling.. you cant able to see that and analyze..

3) Mapreduce (Batch Client):用于处理大量数据。您可以使用在 Java Hbase 客户端程序中使用的相同过滤器和扫描对象...来获取结果。

将 Mapreduce 与 Hbase 结合使用的优势/原因:

  • 批处理/并行处理

  • 至少结果将作为部分文件存储在 HDFS 中(如果您提到 hdfs 作为接收器)

  • 您可以将例如:临时表的结果聚合到另一个汇总表就像一条 ETL 管道......

One classic examples of the above explanation is counting number of rows...

想一想为什么 hbase 团队已经为 mapreduce 提供了计算行的工作,即使使用 Hbase shell 也可以实现相同的功能...

Mapreduce 方式:

$ hbase org.apache.hadoop.hbase.mapreduce.RowCounter

Usage: RowCounter [options] 
<tablename> [
--starttime=[start]
--endtime=[end]
[--range=[startKey],[endKey]]
[<column1> <column2>...]
]

Hbase shell 方式:通过 hbase shell 你也可以这样做

$ count 'hbase table'

我希望现在你会得到答案:-)

关于hadoop - 为什么使用 MapReduce 与 HBase shell 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38404099/

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