私は両方がHBaseのテーブル内の同じデータを同じタスク を実行する際に、プレーンなJavaプログラムと、(Javaで書かれた) のMapReduceプログラムを書くの違いを知りたいと思いました。
のHBaseは小さなデータのためである私たちは、一般的な小さなJava HBaseのクライアントでJavaやMapReduceの(Javaで書かれた)プログラム
でスタンドアロンのHBaseクライアントを書くことができるそのうちの多くのクライアントを持っています。 map-reduceに変換されません。それはスタンドアロンのクライアントとして動作し、hadoopクラスタノードを介して生成されることはありません。テスト目的です。
Mapreduceは、YARNを使用する大きな/巨大なデータセット用です。&は、入力分割(並列処理)に基づいてすべてのノードでタスクを分割します。それは普通のJavaプログラムよりも速く動作します。
両方のプレーンJavaやMapReduceのプログラムは、同じクライアントAPI & hbase.zookeeper.quorum
を使用していますが、それが動作する方法は異なっています。
どのようにプレーンなJavaプログラムがHBaseテーブルでデータを処理するのですか?クライアントAPIを使用して
それは飼育係(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");
あなたはどのようにハイブJDBC APIを使用して相互作用としてではなく別の方法でそれを考えることができます。
RAMを明確化していただきありがとうございます。 – Jam