効率的にJAVAPIを使ってhadoopシステムに一括書き込みする必要があります。 ここでオプションを確認するだけです。マルチスレッドでHDFSに書き込むとhbase/hiveのようなオプションを使用すると
hbase/hiveのようなオプションを使用するのと比較して、マルチスレッドでHDFSに書き込む作業が高価になります。
効率的にJAVAPIを使ってhadoopシステムに一括書き込みする必要があります。 ここでオプションを確認するだけです。マルチスレッドでHDFSに書き込むとhbase/hiveのようなオプションを使用すると
hbase/hiveのようなオプションを使用するのと比較して、マルチスレッドでHDFSに書き込む作業が高価になります。
ハイブとHBaseは2種類のツールです。 Hbaseはデータベースであり、Hiveはクエリエンジンです。 Hbaseはハイブとハープとは異なります。
あなたの質問に答えるには、Java APIを使用してmapreduceを使用してHDfSに書き込むことができます。また、処理しているデータに関してプログラムが非常に効率的である場合は、その後map reduceはより高速でハイブになります。 この主な理由は、ハイブで書いたクエリがmap reduceプログラムに変換されるという事実です。だから、最終的にはmapreduceプログラムの効率が重要になります。あなたがより効率的なプログラムを書くことができれば、それはハイブクエリより速くなります。
質問に答える前に、私はあなたが概念について少し混乱していると思います。
Hadoop:MapReduce + HDFS(分散ファイルシステム)。
ハイブは、HDFSの上の単なるレイヤーです。それはまったくFileSystemではありません。 HiveとHDFSを比較するのは意味がありません。
HBaseは、非リレーショナルデータベースであり、Hadoop上で実行でき、ランダムなデータアクセス/クエリ機能を提供します。 HDFSは、単独ではランダムな場所での読み取り/書き込みをサポートしていません。 HDFSは、最も効率的なデータ処理 パターンは、追記型、読み取り多くの倍のパターンであるという考えを中心に構築されて
:Definitive Guideの - のHadoopから引用
。データセットは通常ソースから生成またはコピーされた であり、さまざまな分析 が時間の経過とともにそのデータセットに対して実行されます。各分析では、データセット全体ではないにしても、大部分が になるため、最初の レコードを読み取るときのレイテンシーよりも、 全体のデータセットを読み取る時間が重要です。
私はこの記事(Introduction to Hadoop HDFS)が非常に役に立つと思います。
さらに詳しい情報をお伝えするために、HBaseはデータを列データベースのようにキー/値のペアとして保存します。 Hbaseについては、Hadoop環境の拡張機能として考えることができます.Hadop環境では、データを簡単に読み書きできます。データはHDFSに保存されます。
一部の機能:大規模なデータセット内から少量のデータへ
4.データ量と合計量の点でスケールします。
応答のための@siddharthaに感謝し、JAVA APIを使用してマルチスレッドのスレッドプログラムを最適化しようとします – osum