問題: ApacheWebサーバーのログエントリを含むファイルが多数あります。これらのエントリは日時順になっておらず、ファイル全体に散在しています。Pigを使用して、1日分のファイルを読み取り、ログエントリを日時順にグループ化して並べ替え、そこに含まれるエントリの日時にちなんで名付けられたファイルに書き込みます。
セットアップ: ファイルをインポートしたら、正規表現を使用して日付フィールドを取得し、それを時間に切り捨てます。これにより、あるフィールドにレコードがあり、別のフィールドに日付が切り捨てられたセットが生成されます。ここから、日時フィールドでグループ化します。
最初の試み: 私の最初の考えは、FOREACHを使用してグループを反復処理しているときに、STOREコマンドを使用することでしたが、Pigではクールではないことがすぐにわかりました。
2番目の試み: 2番目の試みは、貯金箱でMultiStorage()メソッドを使用することでした。これは、ファイルを確認するまではうまく機能しました。問題は、MulitStorageが、グループ化に使用したフィールドを含め、すべてのフィールドをファイルに書き込みたいということです。私が本当に欲しいのは、ファイルに書き込まれた元のレコードだけです。
質問: それで...私はそれが意図されていない何かのためにPigを使用していますか、それともPigを使用してこの問題に取り組むためのより良い方法がありますか?この質問があるので、簡単なコード例を使用して、問題をさらに説明します。入手したら、ここに投稿します。前もって感謝します。