HBase表

时间:2017-01-04 06:53:52

标签: java hadoop hbase

我是Hadoop和Hbase的新手。我想知道编写普通java程序和MapReduce程序(用java编写)之间的区别,当它们对HBase表中的相同数据执行相同的任务时。

我知道Pig Scripts和Hive Queries将转换为MapReduce程序,并将处理HDFS上的数据。甚至HBase也会在Datanode上存储数据。那么普通的java程序是否会转换为mapper redcucer任务并将数据从datanode处理为批处理,还是线性处理数据呢?

请告诉我,简单的java程序如何在HBase Table上处理数据? 在此先感谢!!!

1 个答案:

答案 0 :(得分:1)

  

我想知道编写普通java程序和编写java程序之间的区别   MapReduce程序(用java编写),当两者执行相同的任务时   关于HBase表中的相同数据。

Hbase有很多客户端,我们可以使用java或Mapreduce(用java编写)程序编写独立的hbase客户端

  • 通常,小型java hbase客户端用于小数据。哪个不会转换为map-reduce。它将作为独立客户端工作,不会在hadoop集群节点上产生,并且用于测试目的。

  • Mapreduce适用于大/大数据集,它使用YARN&根据输入拆分(并行)在所有节点上划分任务。所以它比普通的java程序更快。

普通java或mapreduce程序都使用相同的客户端api& hbase.zookeeper.quorum,但它的工作方式不同。

  

如何在HBase Table上处理数据的普通java程序?

使用客户端api,它通过zookeeper(hbase.zookeeper.quorum&)连接,并将与hbase表进行交互。例如,配置请参见下文。

 Configuration conf = HBaseConfiguration.create();
     conf.set("hbase.master","121.33.6.94:60000");
     Configuration config = HBaseConfiguration.create();
     config.set("hbase.zookeeper.quorum", "121.33.6.94");
     config.set("hbase.zookeeper.property.clientPort", "2181");
     config.set("hbase.master", "121.33.6.94:60000");
     config.set("zookeeper.znode.parent", "/hbase-unsecure");

您可以将其视为hive如何使用jdbc api以不同的方式进行交互。