Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengonfigurasi Tez
Anda dapat menyesuaikan Tez dengan menetapkan nilai-nilai menggunakan tez-site
konfigurasi klasifikasi, yang mengkonfigurasi pengaturan di tez-site.xml
file konfigurasi. Untuk informasi lebih lanjut, lihat TezConfigurationhive-site
dan pig-properties
klasifikasi konfigurasi yang sesuai. Contoh ditunjukkan di bawah ini.
Contoh konfigurasi
contoh Contoh: Menyesuaikan tingkat penebangan akar Tez dan pengaturan Tez sebagai mesin eksekusi untuk Hive dan Pig
Contoh create-cluster
perintah yang ditunjukkan di bawah ini menciptakan sebuah cluster dengan Tez, Hive, dan Pig diinstal. Perintah referensi file yang disimpan di Amazon S3, myConfig.json
, yang menentukan properti untuk tez-site
klasifikasi yang menetapkan tez.am.log.level
ke DEBUG
, dan menetapkan mesin eksekusi untuk Tez untuk Hive dan Pig menggunakan hive-site
dan pig-properties
klasifikasi konfigurasi.
catatan
Karakter kelanjutan baris Linux (\) disertakan untuk memudahkan pembacaan. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).
aws emr create-cluster --release-label
emr-7.7.0
\ --applications Name=Tez Name=Hive Name=Pig --ec2-attributes KeyName=myKey
\ --instance-type m5.xlarge --instance-count 3 \ --configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json --use-default-roles
Isi contoh dari myConfig.json
ditunjukkan di bawah ini.
[
{
"Classification": "tez-site",
"Properties": {
"tez.am.log.level": "DEBUG"
}
},
{
"Classification": "hive-site",
"Properties": {
"hive.execution.engine": "tez"
}
},
{
"Classification": "pig-properties",
"Properties": {
"exectype": "tez"
}
}
]
catatan
Dengan Amazon EMR versi 5.21.0 dan yang lebih baru, Anda dapat mengganti konfigurasi klaster dan menentukan klasifikasi konfigurasi tambahan untuk setiap grup instans dalam klaster berjalan. Anda melakukannya dengan menggunakan konsol EMR Amazon, AWS Command Line Interface (AWS CLI), atau SDK AWS . Untuk informasi selengkapnya, lihat Menyediakan Konfigurasi untuk Grup Instans dalam Klaster Berjalan.
Pembukaan split asinkron Tez
Ketika ada sejumlah besar file kecil di jalur tabel, dan kueri mencoba untuk membaca semuanya, setiap file kecil yang sesuai dengan setiap pemisahan individu digabungkan di bawah satu pemisahan yang dikelompokkan Tez. Sebuah mapper tunggal kemudian memproses pemisahan yang dikelompokkan Tez tunggal. Karena eksekusi sinkron, setiap pemisahan individu di bawah pemisahan yang dikelompokkan akan diproses satu per satu. Ini membutuhkan RecordReader
objek untuk memproses pemisahan secara sinkron.
Nama | Klasifikasi | Deskripsi |
---|---|---|
|
|
Menentukan jumlah thread daemon yang Tez gunakan untuk pra-memulai dan membuka split. |
|
|
Menentukan jumlah |
Benchmarking untuk pembukaan split asinkron Tez
Kami menggunakan lingkungan dan konfigurasi berikut untuk membandingkan kemampuan pembukaan terpisah asinkron Tez:
-
Lingkungan benchmark — Cluster EMR Amazon dengan 1 node utama yang menggunakan m5.16xlarge, dan 16 node inti yang menggunakan m5.16xlarge.
-
Konfigurasi benchmark — Untuk mensimulasikan skenario untuk pembandingan di mana sejumlah besar pemisahan input berada dalam satu pemisahan yang dikelompokkan Tez, diatur ke.
tez.grouping.split-count
1
-
Tabel yang digunakan untuk benchmarking - Tabel berisi 200 partisi, dengan masing-masing partisi berisi satu file. Benchmark dilakukan ketika tabel itu berisi CSV file, dan ketika tabel itu berisi file parket. Kueri sarang untuk benchmarking:
SELECT COUNT(*)
dari tabel sepuluh kali, dan ambil runtime rata-rata. -
Konfigurasi untuk mengaktifkan pembukaan pemisahan async Tez - Sebagai berikut:
-
tez.grouping.split.init.threads
=4
-
tez.grouping.split.init.recordreaders
=10
-
Set data | Fitur dinonaktifkan (baseline) | Fitur diaktifkan | Peningkatan |
---|---|---|---|
CSV set data |
90.26 detik |
79.20 detik |
12,25% |
Parquet set data |
54,67 detik |
42,23 detik |
22,75% |