私はHadoopの初心者です。私を助けてください。
更新を続けるログファイルがありますが、このログファイルをハイブのテーブルに保存する必要があります。ログファイルで生成された新しい行をいつでも、または定期的にこのテーブルに追加することはできますか?
Hiveはinsertステートメントをサポートしているので、可能であるはずです。同時に、このハイブの操作方法はお勧めしません。私たちはログの深刻な流れについて話していると思います-そうでなければ、Hiveを使用しません。
Hiveは、Hiveの外部テーブルとして定義されているHDFSディレクトリに追加のファイルをコピーするだけで、データの読み込み速度が優れています。
したがって、ログローテーション(または他の手法)を使用して、X分またはYメガバイトごとに新しいファイルを作成してからコピーすることをお勧めします。それらをHDFSに入れます。
これは、Hive ではあまりサポートされていません。Flume を使用してログ ファイルを HDFS に保存し、Hive テーブルがその場所を指すようにし、適切な SerDe を使用してアクセスすることを検討することをお勧めします。
それか、ログ ファイルをローテーションし、書き込みが完全に完了してからのみ Hive に保存します。