S3 DistCp 實用程序與舊AMI版 Amazon 的差異 EMR - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

S3 DistCp 實用程序與舊AMI版 Amazon 的差異 EMR

Amazon 支援 S3 DistCp 版本 EMR

Amazon DistCp EMR AMI 版本支援以下 S3 版本。1.0.7 之後的 S3 DistCp 版本可直接在叢集上找到。使用JAR中的以/home/hadoop/lib取得最新功能。

版本 描述 發行日期
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 改進了指定要運行哪個版本的 S3 DistCp 的能力。 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 S3 的初始版本DistCp。 2012 年 1 月 19 日

將 S3 DistCp 複製步驟新增至叢集

若要將 S3 DistCp 複製步驟新增至執行中的叢集,請鍵入下列命令,取代 j-3GYXXXXXX9IOK 使用您的群集 ID,並替換 mybucket 使用您的 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://mybucket/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 選項中指定的一般表達式來提升效能,以將指定的某小時內的所有日誌合併成單一檔案。與處理許多小型 GZIP 壓縮檔案相比,Amazon EMR 叢集在處理少數大型LZO壓縮檔案時效率更高。若要分割LZO檔案,您必須將檔案建立索引,並使用 hadoop-lzo 協力廠商程式庫。

要將 Amazon CloudFront 日誌加載到HDFS,請鍵入以下命令,替換 j-3GYXXXXXX9IOK 使用您的群集 ID,並替換 mybucket 使用您的 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://mybucket/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

S3 會將檔案DistCp 複製、連接並壓縮到以下兩個檔案中,其中檔案名稱由規則運算式所做的相符項目決定。

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