Optimalkan Apache Pig dengan Apache Ambari di Microsoft Azure HDInsight
Apache Ambari adalah antarmuka web untuk mengelola dan memantau kluster Microsoft Azure HDInsight. Untuk pengenalan ke Ambari Web UI, lihat Kelola kluster Microsoft Azure HDInsight dengan menggunakan Apache Ambari Web UI.
Properti Apache Pig dapat dimodifikasi dari UI web Ambari untuk menyetel kueri Pig. Pengubahan properti Pig dari Ambari langsung memodifikasi properti Pig dalam file /etc/pig/2.4.2.0-258.0/pig.properties
.
Untuk memodifikasi properti Pig, arahkan ke tab Konfigurasi , lalu perluas panel Properti pig tingkat lanjut.
Temukan, uncomment, dan ubah nilai properti yang ingin Anda ubah.
Pilih Simpan di sisi kanan atas jendela untuk menyimpan nilai baru. Beberapa properti mungkin memerlukan mulai ulang layanan.
Catatan
Pengaturan tingkat sesi apa pun akan menimpa nilai properti dalam pig.properties
file.
Setel mesin eksekusi
Dua mesin eksekusi disediakan untuk menjalankan skrip Pig: MapReduce dan Tez. Tez adalah mesin yang dioptimalkan dan jauh lebih cepat daripada MapReduce.
Untuk memodifikasi mesin eksekusi, di panel Properti pig tingkat lanjut, temukan properti
exectype
.Nilai defaultnya adalah MapReduce. Ubah menjadi Tez.
Aktifkan mode lokal
Mirip dengan Apache Hive, mode lokal digunakan untuk mempercepat pekerjaan dengan jumlah data yang relatif lebih kecil.
Untuk mengaktifkan mode lokal, atur
pig.auto.local.enabled
ke true. Nilai defaultnya adalah false.Pekerjaan dengan ukuran data input kurang dari nilai properti
pig.auto.local.input.maxbytes
dianggap sebagai pekerjaan kecil. Nilai defaultnya adalah 1 GB.
Salin cache jar pengguna
Pig menyalin file JAR yang diperlukan oleh UDF ke cache terdistribusi agar tersedia untuk node tugas. Jar ini tidak sering berubah. Jika diaktifkan, pengaturan pig.user.cache.enabled
memungkinkan jar ditempatkan di cache untuk digunakan kembali untuk pekerjaan yang dijalankan oleh pengguna yang sama. Pengaturan ini menghasilkan peningkatan kecil dalam performa pekerjaan.
Untuk mengaktifkan, atur
pig.user.cache.enabled
ke true. Defaultnya adalah false.Untuk mengatur jalur dasar jar yang di-cache, atur
pig.user.cache.location
ke jalur dasar. Default adalah/tmp
.
Optimalkan performa dengan pengaturan memori
Pengaturan memori berikut dapat membantu mengoptimalkan kinerja skrip Pig.
pig.cachedbag.memusage
: Jumlah memori yang diberikan kepada bag. Bag adalah kumpulan tuple. Tuple adalah set bidang yang diurutkan, dan bidang adalah sebuah data. Jika data dalam bag berada di luar memori yang diberikan, data akan meluap ke disk. Nilai defaultnya adalah 0,2, yang mewakili 20 persen dari memori yang tersedia. Memori ini dibagikan melintasi semua bag dalam aplikasi.pig.spill.size.threshold
: Kantong yang lebih besar dari ambang ukuran luapan ini (dalam byte) akan ditumpahkan ke disk. Nilai defaultnya adalah 5 MB.
Kompres file sementara
Pig menghasilkan file sementara selama eksekusi pekerjaan. Pengompresan file sementara menghasilkan peningkatan performa saat membaca atau menulis file ke disk. Pengaturan berikut ini bisa digunakan untuk mengompres file sementara.
pig.tmpfilecompression
: Bila true, aktifkan kompresi file sementara. Nilai defaultnya adalah false.pig.tmpfilecompression.codec
: Kodek kompresi yang digunakan untuk mengompresi file sementara. Kodek kompresi yang direkomendasikan adalah LZO dan Snappy untuk penggunaan CPU yang lebih rendah.
Aktifkan penggabungan terpisah
Ketika diaktifkan, file kecil digabungkan untuk tugas peta yang lebih sedikit. Pengaturan ini meningkatkan efisiensi dari pekerjaan dengan banyak file kecil. Untuk mengaktifkan, atur pig.noSplitCombination
ke true. Nilai defaultnya adalah false.
Setel pemeta
Jumlah pemeta dikontrol dengan mengubah properti pig.maxCombinedSplitSize
. Properti ini menentukan ukuran data yang akan diproses oleh satu tugas peta. Nilai defaultnya adalah ukuran blok default sistem file. Peningkatan nilai ini menghasilkan jumlah tugas pemetaan yang lebih rendah.
Setel peredam
Jumlah peredam dihitung berdasarkan parameter pig.exec.reducers.bytes.per.reducer
. Parameter menentukan jumlah byte yang diproses per peredam, defaultnya adalah 1 GB. Untuk membatasi jumlah peredam maksimum, atur properti pig.exec.reducers.max
, defaultnya adalah 999.