0

私はHadoopの初心者です。私を助けてください。

更新を続けるログファイルがありますが、このログファイルをハイブのテーブルに保存する必要があります。ログファイルで生成された新しい行をいつでも、または定期的にこのテーブルに追加することはできますか?

4

2 に答える 2

0

Hiveはinsertステートメントをサポートしているので、可能であるはずです。同時に、このハイブの操作方法はお勧めしません。私たちはログの深刻な流れについて話していると思います-そうでなければ、Hiveを使用しません。
Hiveは、Hiveの外部テーブルとして定義されているHDFSディレクトリに追加のファイルをコピーするだけで、データの読み込み速度が優れています。
したがって、ログローテーション(または他の手法)を使用して、X分またはYメガバイトごとに新しいファイルを作成してからコピーすることをお勧めします。それらをHDFSに入れます。

于 2012-09-24T08:53:50.203 に答える
0

これは、Hive ではあまりサポートされていません。Flume を使用してログ ファイルを HDFS に保存し、Hive テーブルがその場所を指すようにし、適切な SerDe を使用してアクセスすることを検討することをお勧めします。

それか、ログ ファイルをローテーションし、書き込みが完全に完了してからのみ Hive に保存します。

于 2012-09-24T19:43:48.463 に答える