以前のAMIバージョンの Amazon との S3DistCp ユーティリティの違い EMR - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

以前のAMIバージョンの Amazon との S3DistCp ユーティリティの違い EMR

Amazon でサポートされている S3DistCp バージョン EMR

Amazon EMRAMIリリースでは、次の S3DistCp バージョンがサポートされています。1.0.7 以降の S3DistCp バージョンは、 クラスターの に直接表示されます。最新の機能/home/hadoop/libについては、 JARの を使用します。

Version 説明 リリース日
1.0.8 --appendToLastFile--requirePreviousManifest、および --storageClass オプションを追加します。 2014 年 1 月 3 日
1.0.7 --s3ServerSideEncryption オプションの追加。 2013 年 5 月 2 日
1.0.6 --s3Endpoint オプションの追加。 2012 年 8 月 6 日
1.0.5 実行する S3DistCp のバージョンを指定する機能が改善されました。 2012 年 6 月 27 日
1.0.4 --deleteOnSuccess オプションの強化。 2012 年 6 月 19 日
1.0.3 --numberFiles および --startingIndex オプションの追加。 2012 年 6 月 12 日
1.0.2 グループ使用時のファイル名前付け機能の強化。 2012 年 6 月 6 日
1.0.1 S3DistCp の初回リリース。 2012 年 1 月 19 日

S3DistCp copy ステップをクラスターに追加する

実行中のクラスターに S3DistCp copy ステップを追加するには、次のコマンドを入力し、 をクラスター ID j-3GYXXXXXX9IOKに置き換え、 を Amazon S3 バケット名amzn-s3-demo-bucketに置き換えます。

注記

読みやすくするために、Linux 行連続文字 (\) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

aws emr add-steps --cluster-id j-3GYXXXXXX9IOK \ --steps Type=CUSTOM_JAR,Name="S3DistCp step",Jar=/home/hadoop/lib/emr-s3distcp-1.0.jar,\ Args=["--s3Endpoint,s3-eu-west-1.amazonaws.com",\ "--src,s3://amzn-s3-demo-bucket/logs/j-3GYXXXXXX9IOJ/node/",\ "--dest,hdfs:///output",\ "--srcPattern,.*[a-zA-Z,]+"]
例 Amazon CloudFront ログを にロードする HDFS

この例では、実行中のクラスターにステップを追加して、Amazon HDFS CloudFront ログを にロードします。このプロセスでは、圧縮形式を Gzip (デフォルト) CloudFrontから に変更しますLZO。これは、 を使用して圧縮されたデータは、解凍時に複数のマップにLZO分割できるため、Gzip と同様に圧縮が完了するまで待つ必要はありません。これにより、Amazon を使用してデータを分析する際のパフォーマンスが向上しますEMR。また、この例では、--groupBy オプションで指定されている正規表現を使用して、指定された時間のすべてのログを 1 つのファイルにまとめることによっても、パフォーマンスが向上しています。Amazon EMRクラスターは、Gzip LZOで圧縮された多数の小さなファイルを処理する場合よりも、いくつかの大きな 圧縮ファイルを処理する場合の方が効率的です。LZO ファイルを分割するには、ファイルのインデックスを作成し、hadoop-lzo サードパーティーライブラリを使用する必要があります。

Amazon CloudFront ログを にロードするにはHDFS、次のコマンドを入力し、 をクラスター ID j-3GYXXXXXX9IOKに置き換え、 を Amazon S3 バケット名amzn-s3-demo-bucketに置き換えます。

注記

読みやすくするために、Linux 行連続文字 (\) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。

aws emr add-steps --cluster-id j-3GYXXXXXX9IOK \ --steps Type=CUSTOM_JAR,Name="S3DistCp step",Jar=/home/hadoop/lib/emr-s3distcp-1.0.jar,\ Args=["--src,s3://amzn-s3-demo-bucket/cf","--dest,hdfs:///local",\ "--groupBy,.*XABCD12345678.([0-9]+-[0-9]+-[0-9]+-[0-9]+).*",\ "--targetSize,128", "--outputCodec,lzo","--deleteOnSuccess"]

前述の例が、次の CloudFront ログファイルで実行された場合を考えてみてください。

s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-01.HLUS3JKx.gz s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-01.I9CNAZrg.gz s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-02.YRRwERSA.gz s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-02.dshVLXFE.gz s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-02.LpLfuShd.gz

S3DistCp は、ファイルを次の 2 つのファイルにコピー、連結、圧縮します。ファイル名は正規表現の一致によって決まります。

hdfs:///local/2012-02-23-01.lzo hdfs:///local/2012-02-23-02.lzo