2012-03-28 10 views

cevap

17

birkaç şekilde yapabilirsiniz:

  • Eğer default_parallel özelliğini kullanabilirsiniz, tüm Domuz opeations reduktörler sayısını ayarlamak için - ama bu her adımı tek redüktör kullanın anlamına gelir, azalan verim:

    set default_parallel 1;

  • işlemlerinden biridir yürütme, önce çağrı saklamak için, (COGROUP, ÇAPRAZ, ayn grubuna katılması (iç),(), dış ve Yazan) daha sonra, sen c PARALLEL 1 anahtar kelimenin tek redüktör kullanımını göstermek için bir kullanım bu komutu tamamlamak için:

    GROUP a BY grp PARALLEL 1;

fazla bilgi için Pig Cookbook - Parallel Features bakın

+0

Büyük şeyler, Chris, teşekkürler! – JasonA

+0

Bunun çok ideal olduğunu düşünmüyorum, çünkü büyük çıkış verilerinde çok az redüktörle bellek hatasından kurtulursunuz. – FreeTymeKiyan

15

Ayrıca tüm bu birleştirmek için Hadoop en getmerge komutunu kullanabilirsiniz bölüm- * dosyaları. Bu yalnızca, Pig komut dosyalarınızı Pig kabuğundan (Java'dan değil) çalıştırırsanız mümkündür. önerilen çözüm üzerinde bir avantaj olarak

Bu

: işinizi daha hızlı çalışabilir, böylece yine, verilerinizi işlemek için özellikle her redüktör çıkış birkaç Verilere farklı düşürücüler kullanabilirsiniz olarak.

grunt> fs -getmerge <Pig output file> <local file>