首页 文章

HBase表上的普通Java程序和MapReduce java程序之间的区别

提问于
浏览 445 次
1

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

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

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

1 回答

  • 1

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

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

    • 一般来说,小型java hbase客户端适用于小数据 . 它不会转换为map-reduce . 它将作为独立客户端工作,不会在hadoop集群节点上产生,并且用于测试目的 .

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

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

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

    使用客户端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以不同的方式进行交互 .

相关问题