2

私はまだhadoopに比較的慣れておらず、いくつかのサンプル演習を行うことでそれについて少し学んでいますが、実際にどのように使用されているかについて質問がありました。多くのアプリケーションはバッチ処理(ログファイルデータなど)を対象としているようですが、hbaseがここにどのように適合するかわかりませんか?

ログファイルデータをhbaseに保存し、それを処理して他のストレージ形式に出力するのは一般的ですか?生のログファイルをhadoopに渡してから、出力をhbaseに保存する方が一般的ですか?ここでの私の本当の質問は、通常、hbaseがhadoopの入力または出力、あるいはその両方として使用されることだと思いますか?

4

2 に答える 2

4

HBaseは、データへのランダムで低レイテンシーのアクセスが必要な場所で使用できますが、Hadoopエコシステムの残りのほとんどは、おっしゃるようにバッチ指向です。

ログ解析の例を使用するには、MapReduceを介してHDFSに保存されているログファイルを処理できますが、それではどうでしょうか。おそらく、時間の経過に伴うトラフィックパターン(分、時間、日など)を確認する必要があります。タイムスタンプを行キーとしてHBaseに結果を保存すると、特定の日付範囲を効率的にクエリできます(たとえば、「先週のすべてのデータを表示」)。HBaseは、従来よりもはるかに高速に戻ります。 MapReduceは、先月や昨年などのすべてのデータをスキャンする必要がないためですが、MapReduceはスキャンします。

于 2012-04-05T20:48:16.510 に答える
2

Flumeは、多くの人がログファイルを接続して、生成されたデータをリアルタイムで処理する方法です。各ログファイルからソースを作成し、HBaseインスタンスと同期することができます

OpenTSDBも見てください。HBaseの上にクラスターメトリックを格納するための非常に優れたシステムがあります。それらのインフラストラクチャの一部を再利用して、ログ分析を行うことができる場合があります。

于 2012-04-06T17:32:05.010 に答える