ログを S3 に保存し、(Pig) クエリの 1 つが 3 つの異なるログ タイプを取得します。各ログ タイプは、タイプ/日付に基づく一連のサブディレクトリにあります。例えば:
/logs/<type>/<year>/<month>/<day>/<hour>/lots_of_logs_for_this_hour_and_type.log*
私のクエリは、一定時間、3 種類のログすべてをロードする必要があります。例えば:
type1 = load 's3:/logs/type1/2011/03/08' as ...
type2 = load 's3:/logs/type2/2011/03/08' as ...
type3 = load 's3:/logs/type3/2011/03/08' as ...
result = join type1 ..., type2, etc...
私のクエリは、これらすべてのログに対して実行されます。
これを処理する最も効率的な方法は何ですか?
- bash スクリプト拡張を使用する必要がありますか? これが複数のディレクトリで機能するかどうかはわかりません。ロードするログが 10k ある場合、効率的 (または可能) であるとは思えません。
- すべてのログを集約して hdfs に直接プッシュするサービスを作成しますか?
- カスタム Java/Python インポーター?
- 他の考え?
必要に応じてサンプルコードも残していただけると助かります。
ありがとう