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 AMI versi Amazon sebelumnya EMR
DistCp Versi S3 didukung di Amazon EMR
DistCp Versi S3 berikut didukung dalam EMR AMI rilis Amazon. DistCpVersi S3 setelah 1.0.7 ditemukan langsung di cluster. Gunakan JAR in /home/hadoop/lib
untuk fitur-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 salinan S3 ke cluster yang sedang berjalan, ketik perintah berikut, ganti j-3GYXXXXXX9IOK
dengan ID cluster Anda, dan ganti amzn-s3-demo-bucket
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://amzn-s3-demo-bucket/logs/j-3GYXXXXXX9IOJ/node/
",\ "--dest
,hdfs:///output
",\ "--srcPattern
,.*[a-zA-Z,]+
"]
contoh Muat CloudFront log Amazon ke HDFS
Contoh ini memuat CloudFront log Amazon HDFS dengan menambahkan langkah ke cluster yang sedang berjalan. Dalam prosesnya, itu mengubah format kompresi dari Gzip ( CloudFrontdefault) menjadiLZO. Ini berguna karena data yang dikompresi menggunakan LZO dapat dibagi menjadi beberapa peta karena didekompresi, jadi Anda tidak perlu menunggu sampai kompresi selesai, seperti yang Anda lakukan dengan Gzip. Ini memberikan kinerja yang lebih baik saat Anda menganalisis data menggunakan AmazonEMR. 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. EMRCluster Amazon lebih efisien saat memproses beberapa file besar, LZO terkompresi daripada saat memproses banyak, kecil, file terkompresi GZIP. Untuk membagi LZO file, Anda harus mengindeksnya dan menggunakan pustaka pihak ketiga hadoop-lzo.
Untuk memuat CloudFront log AmazonHDFS, ketik perintah berikut, ganti j-3GYXXXXXX9IOK
dengan ID cluster Anda, dan ganti amzn-s3-demo-bucket
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://amzn-s3-demo-bucket/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://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 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