S3のwebホスティングで、ログ出力の設定をしていた場合、ログファイルが大量に出力されます。 その際、ログの記録時間は標準時で出力されており、わかりづらく思っていました。 そこで今回はEMRのHiveを利用し、日本時間の0時~翌日の0時までのログを1ファイルにまとめてみたいと思います。 ○HiveScript HiveScriptは以下のようにします。 まずフォーマット解析用のJARを読み込みます。 add jar /home/hadoop/hive/contrib/hive-contrib-0.8.1.jar; 入力用のテーブルを定義します。 LOCATIONは引数から受け取ります。ネックとなるのは、S3のログは基本的に半角スペース区切りですが、項目の値の中に半角スペースが入り込むため、 「FIELDS TERMINATED BY」句ではなく、SERDEを使用して正規表現でログの1行を項
![cloudpackブログ - EMRってなんじゃ?(HiveでS3のログをJSTに変換して1日分をまとめる)](https://cdn-ak-scissors.b.st-hatena.com/image/square/377a9c51a86d20c871561f0ba1caf65409e4f7f2/height=288;version=1;width=512/https%3A%2F%2Firet.media%2Fwp-content%2Fthemes%2Fclp_media%2Fimg%2Fcommon%2Fogp-thumbnail_1200x630.png%3F135792468)