使用HBASE MAP REDUCE API将数据加载到Hbase表中

Nav*_*yah 4 hadoop hbase mapreduce

我是Hbase和Map Reduce API的新手.
我对Map Reduce概念很困惑.我需要使用MAPReduce API将文本文件加载到Hbase表中.我用谷歌搜索了一些例子,但我发现MAPPER()不是减速器方法.我很困惑何时使用mapper以及何时使用Reducer().

我想的方式如下:

  1. 要将数据写入Hbase,我们使用mapper
  2. 要从HBASE读取数据,我们使用mapper和reducer().请任何人清楚我详细说明.
  3. 我正在尝试将文本文件中的数据加载到HBASE表中.我用Google搜索并尝试了一些代码,但我不知道,如何加载文本文件并在HBASE mapreduce API中读取.

我真的非常感谢你的帮助

Die*_*ino 5

关于你的问题:

  • 所述映射器接收数据的分割,并返回一对键,设置<值>
  • 减速器接收来自映射器的输出,并产生一对<键,值>

通常,您的Reducer任务将写入结果(到文件系统或HBase),但Mapper也可以这样做.有MapReduce作业,不需要Reducer.关于从HBase读取,它是Mapper类,具有从中读取表的配置.但没有任何关系,Mapper是读者,Reducer是作家.本文"HBase MapReduce示例"提供了有关如何使用MapReduce读取和写入HBase的良好示例.

无论如何,如果您需要将一些.csv文件批量导入HBase,那么您实际上并不需要使用MapReduce作业.您可以使用HBase API直接执行此操作.在伪代码中:

table = hbase.createTable(tablename, fields); 
foreach (File file: dir) {
   content = readfile(file);    
   hbase.insert(table, content); 
}
Run Code Online (Sandbox Code Playgroud)

我写了一个.mbox文件导入到HBase中.看看代码,它可能会给你一些想法.

将数据导入HBase后,您需要编写MapReduce作业代码以对该数据进行操作.