翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon の以前のAMIバージョンとの 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 ステップを追加するには、次のコマンドを入力します。j-3GYXXXXXX9IOK
をクラスター ID に置き換えます。amzn-s3-demo-bucket
Amazon S3 バケット名。
注記
読みやすくするために、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
この例では、実行中のクラスターにステップを追加してHDFS、Amazon CloudFront ログを にロードします。プロセスでは、圧縮形式を Gzip (デフォルト) CloudFrontから に変更しますLZO。これは、 を使用して圧縮されたデータは、解凍時に複数のマップにLZO分割できるため、Gzip と同様に圧縮が完了するまで待つ必要がないため便利です。これにより、Amazon を使用してデータを分析するときにパフォーマンスが向上しますEMR。また、この例では、--groupBy
オプションで指定されている正規表現を使用して、指定された時間のすべてのログを 1 つのファイルにまとめることによっても、パフォーマンスが向上しています。Amazon EMRクラスターは、数個の大きな LZO圧縮ファイルを処理する場合、多くの小さな Gzip 圧縮ファイルを処理する場合よりも効率的です。LZO ファイルを分割するには、インデックスを作成し、hadoop-lzo サードパーティーライブラリを使用する必要があります。
Amazon CloudFront ログを にロードするにはHDFS、次のコマンドを入力します。j-3GYXXXXXX9IOK
をクラスター ID に置き換えます。amzn-s3-demo-bucket
Amazon S3 バケット名。
注記
読みやすくするために、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-bucket1/cf/XABCD12345678.2012-02-23-01.HLUS3JKx.gz s3://amzn-s3-demo-bucket1/cf/XABCD12345678.2012-02-23-01.I9CNAZrg.gz s3://amzn-s3-demo-bucket1/cf/XABCD12345678.2012-02-23-02.YRRwERSA.gz s3://amzn-s3-demo-bucket1/cf/XABCD12345678.2012-02-23-02.dshVLXFE.gz s3://amzn-s3-demo-bucket1/cf/XABCD12345678.2012-02-23-02.LpLfuShd.gz
S3DistCp は、ファイルを次の 2 つのファイルにコピー、連結、圧縮します。ファイル名は、正規表現による一致によって決まります。
hdfs:///local/2012-02-23-01.lzo hdfs:///local/2012-02-23-02.lzo