2

gzip 圧縮された CSV ファイルを含む AWS の S3 サービスのバケットがありますが、それらが保存されると、すべて text/csv のメタデータ Content-Type で保存されました。

現在、AWS EMR を使用していますが、これはそれらを zip ファイルとして認識せず、解凍しません。EMR の構成オプションを調べましたが、機能するものは何もありません... ほぼ 100 万個のファイルがあるため、それらのメタデータ値の名前を変更するには、すべてのファイルを循環してメタデータ値の名前を変更する Boto スクリプトが必要です。

簡単なことを見逃していますか?ありがとう!

4

1 に答える 1

1

問題はContent-Typeありません...ファイルがcsvの場合は正しいですが、gzipで保存した場合は、ヘッダーメタデータ設定する必要がありました。Content-Encoding: gzipそれを行うと、それらをフェッチしているユーザーエージェントがトリガーされ、ダウンロード時にオンザフライでガンジップされます...それを行っていれば、「うまくいった」はずです。

(私は gzip で圧縮されたログ ファイルをこの方法で保存します。Web ブラウザーを使用してダウンロードするContent-Type: text/plainContent-Encoding: gzip、取得したファイルは gzip ではなくなります。これは、ブラウザーが Content-Encoding ヘッダーのためにオンザフライで圧縮を解除するためです。)

しかし、あなたはすでにファイルをアップロードしているので、私はグーグルマシンでこれを見つけました。

GZip 入力。私の入力データの多くはすでに gzip されていましたが、幸運なこと-jobconf stream.recordreader.compression=gzipに、追加の引数セクションを渡すと、Hadoop はデータをマッパーに渡す前にその場で解凍します。

http://petewarden.typepad.com/searchbrowser/2010/01/elastic-mapreduce-tips.html

于 2013-07-08T02:32:07.417 に答える