Perbedaan DistCp utilitas S3 dengan versi AMI sebelumnya dari Amazon EMR - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Perbedaan DistCp utilitas S3 dengan versi AMI sebelumnya dari Amazon EMR

DistCp Versi S3 didukung di Amazon EMR

DistCp Versi S3 berikut didukung dalam rilis Amazon EMR AMI. DistCpVersi S3 setelah 1.0.7 ditemukan langsung di cluster. Gunakan JAR di /home/hadoop/lib untuk fitur terbaru.

Versi Deskripsi Tanggal rilis
1.0.8 Menambahkan --appendToLastFile, --requirePreviousManifest, dan --storageClass Pilihan. 3 Januari 2014
1.0.7 Menambahkan opsi --s3ServerSideEncryption. 2 Mei 2013
1.0.6 Menambahkan opsi --s3Endpoint. 6 Agustus 2012
1.0.5 Meningkatkan kemampuan untuk menentukan versi S3 mana yang DistCp akan dijalankan. 27 Juni 2012
1.0.4 Meningkatkan --deleteOnSuccess Pilihan. 19 Juni 2012
1.0.3 Menambahkan dukungan untuk --numberFiles dan --startingIndex Pilihan. 12 Juni 2012
1.0.2 Meningkatkan penamaan file saat menggunakan grup. 6 Juni 2012
1.0.1 Rilis awal S3DistCp. 19 Januari 2012

Tambahkan langkah DistCp penyalinan S3 ke cluster

Untuk menambahkan langkah DistCp penyalinan S3 ke klaster yang sedang berjalan, ketik perintah berikut, ganti J-3GYxxxxxx9iOK dengan ID cluster Anda, dan ganti mybucket dengan nama bucket Amazon S3 Anda.

catatan

Karakter lanjutan baris Linux (\) disertakan agar mudah dibaca Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

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,]+"]
contoh Muat CloudFront log Amazon ke HDFS

Contoh ini memuat CloudFront log Amazon ke HDFS dengan menambahkan langkah ke cluster yang sedang berjalan. Dalam prosesnya, itu mengubah format kompresi dari Gzip ( CloudFrontdefault) ke LZO. Hal ini berguna karena data yang dikompresi menggunakan LZO dapat dibagi menjadi beberapa peta karena didekompresi, sehingga Anda tidak perlu menunggu sampai kompresi selesai, seperti yang Anda lakukan dengan Gzip. Ini memberikan kinerja yang lebih baik ketika Anda menganalisis data menggunakan Amazon EMR. Contoh ini juga meningkatkan kinerja dengan menggunakan ekspresi reguler yang ditentukan dalam --groupBy pilihan untuk menggabungkan semua log untuk jam tertentu ke dalam satu file. Kluster Amazon EMR lebih efisien ketika memproses beberapa, besar, file LZO terkompresi daripada ketika memproses banyak, kecil, file terkompresi GZIP. Untuk membagi file LZO, Anda harus mengindeks mereka dan menggunakan perpustakaan pihak ketiga hadoop-lzo.

Untuk memuat CloudFront log Amazon ke HDFS, ketik perintah berikut, ganti J-3GYxxxxxxxx9iOK dengan ID cluster Anda, dan ganti mybucket dengan nama bucket Amazon S3 Anda.

catatan

Karakter lanjutan baris Linux (\) disertakan agar mudah dibaca Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

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"]

Pertimbangkan kasus di mana contoh sebelumnya dijalankan di atas file CloudFront log berikut.

s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-01.HLUS3JKx.gz s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-01.I9CNAZrg.gz s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-02.YRRwERSA.gz s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-02.dshVLXFE.gz s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-02.LpLfuShd.gz

S3 DistCp menyalin, menggabungkan, dan mengompres file ke dalam dua file berikut, di mana nama file ditentukan oleh kecocokan yang dibuat oleh ekspresi reguler.

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