1

HDFS に保存して分析したいログ行がたくさんあり、それぞれに時間があります。特定の時間枠 (過去 5 分、過去 1 時間) 内の行のみを処理する MapReduce ジョブを実行したいと考えています。

始めるための指針を探しています。そして、任意の代替手段 (例: 行を hbase に保存する? 他のプラットフォーム?)

4

2 に答える 2

1

私の2セント:

そのためにHbaseを使用できます。ファイルの各行を読み取り、TS フィールドを取り出して行キーとして使用し、残りの行を列に格納します。したがって、テーブルには 1 つの列しかありません。これにより、必要に応じて(過去 5 分間、過去 1 時間など)より高速な範囲クエリを実行できます。また、リージョンサーバーのホットスポットを回避するために、事前に分割されたテーブルを作成できます。

または、TS でパーティション分割された Hive テーブルにデータを格納し、HiveQL を介して処理を行うこともできます。または、TS に基づいてデータをバケット化します。簡単でわかりやすい。

HTH

于 2013-05-13T20:53:14.937 に答える
0

ログ処理は、Hive/HBase を組み合わせた Map/Reduce プログラムで実行できますが、Hadoop アプローチは、Map/Reduce プログラムがバッチ処理用に構築されているため、頻繁にログを処理するのには適していない場合があります。Apache KafkaStormの組み合わせは、要件に合わせてログを処理するのに適しています

こちらのリンクもご覧ください

于 2013-05-15T03:06:35.653 に答える