Aracılığıyla paylaş


Azure HDInsight'ta Apache Ambari ile Apache Pig'i iyileştirme

Apache Ambari, HDInsight kümelerini yönetmek ve izlemek için bir web arabirimidir. Ambari Web kullanıcı arabirimine giriş için bkz . Apache Ambari Web kullanıcı arabirimini kullanarak HDInsight kümelerini yönetme.

Apache Pig özellikleri, Pig sorgularını ayarlamak için Ambari web kullanıcı arabiriminden değiştirilebilir. Ambari'den Pig özelliklerini değiştirmek, dosyadaki /etc/pig/2.4.2.0-258.0/pig.properties Pig özelliklerini doğrudan değiştirir.

  1. Pig özelliklerini değiştirmek için Pig Yapılandırmaları sekmesine gidin ve Gelişmiş pig özellikleri bölmesini genişletin.

  2. Değiştirmek istediğiniz özelliğin değerini bulun, açıklamayı kaldırın ve değiştirin.

  3. Yeni değeri kaydetmek için pencerenin sağ üst tarafındaki Kaydet'i seçin. Bazı özellikler için hizmetin yeniden başlatılması gerekebilir.

    Advanced Apache pig properties.

Not

Tüm oturum düzeyi ayarları, dosyadaki pig.properties özellik değerlerini geçersiz kılar.

Yürütme altyapısını ayarlama

Pig betiklerini yürütmek için iki yürütme altyapısı vardır: MapReduce ve Tez. Tez iyileştirilmiş bir altyapıdır ve MapReduce'tan çok daha hızlıdır.

  1. Yürütme altyapısını değiştirmek için Gelişmiş pig özellikleri bölmesinde özelliğini exectypebulun.

  2. Varsayılan değer MapReduce'tır. Tez olarak değiştirin.

Yerel modu etkinleştirme

Hive'a benzer şekilde, görece daha az miktarda veri içeren işleri hızlandırmak için yerel mod kullanılır.

  1. Yerel modu etkinleştirmek için true olarak ayarlayınpig.auto.local.enabled. Varsayılan değer olarak yanlış kullanılır.

  2. Giriş veri boyutu özellik değerinden pig.auto.local.input.maxbytes küçük olan işler küçük işler olarak kabul edilir. Varsayılan değer 1 GB'tır.

Kullanıcı jar önbelleğini kopyalama

Pig, UDF'ler için gereken JAR dosyalarını, görev düğümleri için kullanılabilir hale getirmek için dağıtılmış bir önbelleğe kopyalar. Bu jar'lar sık sık değişmez. Etkinleştirilirse, pig.user.cache.enabled bu ayar jar'ların önbellekte yerleştirilerek aynı kullanıcı tarafından çalıştırılan işler için yeniden kullanılmasına olanak tanır. Bu ayar, iş performansında küçük bir artışa neden olur.

  1. Etkinleştirmek için true olarak ayarlayın pig.user.cache.enabled . Varsayılan değer false.

  2. Önbelleğe alınan jar'ların temel yolunu ayarlamak için temel yola ayarlayın pig.user.cache.location . Varsayılan değer: /tmp.

Bellek ayarlarıyla performansı iyileştirme

Aşağıdaki bellek ayarları Pig betiği performansını iyileştirmeye yardımcı olabilir.

  • pig.cachedbag.memusage: Bir torbaya verilen bellek miktarı. Çanta, tanımlama grubu koleksiyonudur. Tanımlama grubu sıralı bir alan kümesidir ve alan da bir veri parçasıdır. Bir torbadaki veriler verilen belleğin ötesindeyse diske dökülür. Varsayılan değer 0,2'dir ve kullanılabilir belleğin yüzde 20'sini temsil eder. Bu bellek, bir uygulamadaki tüm torbalar arasında paylaşılır.

  • pig.spill.size.threshold: Bu taşma boyutu eşiğinden (bayt cinsinden) daha büyük torbalar diske dökülür. Varsayılan değer 5 MB'tır.

Geçici dosyaları sıkıştırma

Pig, iş yürütme sırasında geçici dosyalar oluşturur. Geçici dosyaların sıkıştırılması, diske dosya okurken veya yazarken performans artışına neden olur. Geçici dosyaları sıkıştırmak için aşağıdaki ayarlar kullanılabilir.

  • pig.tmpfilecompression: True olduğunda, geçici dosya sıkıştırmayı etkinleştirir. Varsayılan değer olarak yanlış kullanılır.

  • pig.tmpfilecompression.codec: Geçici dosyaları sıkıştırmak için kullanılacak sıkıştırma codec bileşeni. Daha düşük CPU kullanımı için önerilen sıkıştırma codec'leri LZO ve Snappy'dir.

Bölme birleştirmeyi etkinleştirme

Etkinleştirildiğinde, küçük dosyalar daha az eşleme görevi için birleştirilir. Bu ayar, birçok küçük dosya içeren işlerin verimliliğini artırır. Etkinleştirmek için true olarak ayarlayın pig.noSplitCombination . Varsayılan değer olarak yanlış kullanılır.

Eşleyicileri ayarlama

Eşleyicilerin sayısı özelliği pig.maxCombinedSplitSizedeğiştirilerek denetleniyor. Bu özellik, tek bir eşleme görevi tarafından işlenecek verilerin boyutunu belirtir. Varsayılan değer, dosya sisteminin varsayılan blok boyutudur. Bu değerin artırılması, daha az sayıda eşleyici görevine neden olur.

Azaltıcıları ayarlama

Azaltıcıların sayısı parametresine pig.exec.reducers.bytes.per.reducergöre hesaplanır. parametresi, azaltıcı başına işlenen bayt sayısını varsayılan olarak 1 GB olarak belirtir. En fazla azaltıcı sayısını sınırlamak için özelliğini varsayılan olarak 999 olarak ayarlayın pig.exec.reducers.max .

Sonraki adımlar