Bagikan melalui


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.

  1. Untuk memodifikasi properti Pig, arahkan ke tab Konfigurasi , lalu perluas panel Properti pig tingkat lanjut.

  2. Temukan, uncomment, dan ubah nilai properti yang ingin Anda ubah.

  3. Pilih Simpan di sisi kanan atas jendela untuk menyimpan nilai baru. Beberapa properti mungkin memerlukan mulai ulang layanan.

    Advanced Apache pig properties.

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.

  1. Untuk memodifikasi mesin eksekusi, di panel Properti pig tingkat lanjut, temukan properti exectype.

  2. 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.

  1. Untuk mengaktifkan mode lokal, atur pig.auto.local.enabled ke true. Nilai defaultnya adalah false.

  2. 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.

  1. Untuk mengaktifkan, atur pig.user.cache.enabled ke true. Defaultnya adalah false.

  2. 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.

Langkah berikutnya