Apache Pig Nedir ?

Apache Pig Nedir ? 

MapReduce ile büyük verileri dağıtık sistemlerde analiz edebiliriz . MapReduce programı yazmak için alttaki kodlama yöntemlerinden bir tanesini izlememiz gerekir

  • Java MapReduce
  • Apache Pig
  • Apache Hive

pig-nedir
pig-nedir

Aslında Apache Pig ve Apache Hive yazmış olduğumuz kodları arka planda Java MapReduce kodlarına çevirir.Pig ve Hive kullanmamızın en önemli sebebi Java MapReduce ile kod geliştirmek zahmetlidir , bu yüzden Pig ve Hive ile daha hızlı MapReduce uygulamaları geliştirebiliriz

Apache Pig Mimarisi

Geliştirmiş olduğumuz Pig kodları arka planda şu adımları izleyerek MapReduce kodlarına çevrilir

Parse : Bu adımda geliştirmiş olduğumuz Pig kodları syntax olarak kontrol edilir.Yanlış bir yazım varsa hata verilir

Compile : Bu adımda yazmış olduğumuz kodlar MapReduce job larına çevrilir

Optimize ve Plan : Bu adımda yazmış olduğumuz kodları Apache Pig bizim için optimize eder. Çünkü geliştirmiş olduğumuz kodların daha performanslı çalışması için Pig çeşitli optimizasyonlar yapar

pig-mimari
pig-mimari

Alttaki şekilde Apache Pig ile yazılmış örnek bir kod bloğu bulunmaktadır. Burada örnek bir word-count uygulaması yapılmıştır. Benzer örneği Java MapReduce ile yazmak istersek yüzlerce satır kod geliştmemiz gerekir

pig-örnek-kod
pig-örnek-kod

Apache Pig’in avantajları

  • Öğrenmesi ve geliştirmesi kolaydır
  • Büyük verileri üzerinde kolaylıkla analizler yapılabilir
  • Geliştirmiş olduğumuz MapReduce job’larını optimize eder
  • Veri üzerinde analizler yapabileceğimiz metodlar sunar (filter, group, join, ordering vs..)
  • İhtiyaç halinde java,javascript ve python ile kütüphaneler yazıp Apache pig içerisinde kullanabiliriz (udf)
  • Hadoop içerisindeki ayarlamalar Apache Pig ile yapılabilir (mapreduce.reduce.memory.mb ..)

Pig ile detayları öğrenmek için diğer yazılarımı inceleyebilirsiniz


Sosyal medya grupları ( –> Facebook –> Linkedin  -> Twitter)

Online eğitimler için sitemizi takip edebilirsiniz

Please follow and like us:

Yazar: serkan sakınmaz

serkansakinmaz@gmail.com

Bir cevap yazın