Hadoop'ta Apache Pig Mimarisi: Özellikler, Uygulamalar, Yürütme Akışı

Yayınlanan: 2020-06-26

İçindekiler

Apache Pig Neden Bu Kadar Popüler?

Hadoop, büyük verileri analiz etmek ve işlemek için Harita Azaltma kullanır. Harita Azaltma, Java ile yazılmış bir programdır. Ancak geliştiriciler, bu uzun Java kodlarını yazmayı ve korumayı zor buluyor. Apache Pig ile geliştiriciler, karmaşık Java kodları kullanmadan büyük veri kümelerini hızla analiz edebilir ve işleyebilir. Yahoo araştırmacıları tarafından geliştirilen Apache Pig, kapsamlı veri kümelerinde Harita Azaltma işlerini yürütür ve geliştiricilerin verileri verimli bir şekilde işlemesi için kolay bir arayüz sağlar.

Apache Pig, Java programlamasını anlamayanlar için bir nimet olarak ortaya çıktı. Bugün Apache Pig, esneklik sunduğu, kod karmaşıklığını azalttığı ve daha az çaba gerektirdiği için geliştiriciler arasında çok popüler hale geldi. Yeni başlayan biriyseniz ve veri bilimi hakkında daha fazla bilgi edinmek istiyorsanız, en iyi üniversitelerden veri bilimi kurslarımıza göz atın.

Harita Azaltma ve Apache Domuzu Karşılaştırması

Aşağıdaki tablo, Map Reduce ve Apache Pig arasındaki farkı özetler:

Apaçi Domuzu Harita indirgeme
betik dili derlenmiş dil
Daha yüksek düzeyde soyutlama sağlar Düşük düzeyde soyutlama sağlar
Birkaç satır kod gerektirir (10 satır kod, 200 satırlık Harita Azaltma kodunu özetleyebilir) Daha kapsamlı bir kod gerektirir (daha fazla kod satırı)
Daha az geliştirme süresi ve çaba gerektirir Daha fazla geliştirme süresi ve çaba gerektirir
Daha az kod verimliliği Apache Pig'e kıyasla daha yüksek kod verimliliği

Apache Domuz Özellikleri

Apache Pig aşağıdaki özellikleri sunar:

  • Programcıların daha az kod satırı yazmasına izin verir. Programcılar, Pig Latin dilini kullanarak sadece on satırda 200 satır Java kodu yazabilir.
  • Apache Pig çoklu sorgu yaklaşımı geliştirme süresini azaltır.
  • Apache domuzu, birleştirme, filtreleme, sıralama, yükleme, gruplama vb. işlemleri gerçekleştirmek için zengin bir veri kümesi kümesine sahiptir.
  • Pig Latin dili SQL'e çok benzer. İyi SQL bilgisine sahip programcılar, Pig betiği yazmayı kolay bulur.
  • Programcıların daha az kod satırı yazmasına izin verir. Programcılar, Pig Latin dilini kullanarak sadece on satırda 200 satır Java kodu yazabilir.
  • Apache Pig, hem yapılandırılmış hem de yapılandırılmamış veri analizini işler.

Apache Domuz Uygulamaları

Apache Pig uygulamalarından birkaçı:

  • Büyük hacimli verileri işler
  • Büyük veri kümelerinde hızlı prototip oluşturma ve geçici sorguları destekler
  • Arama platformlarında veri işlemeyi gerçekleştirir
  • Zamana duyarlı veri yüklemelerini işler
  • Telekom şirketleri tarafından kullanıcı arama verisi bilgilerinin kimliğini gizlemek için kullanılır.

Apaçi Domuzu nedir?

Harita Azaltma, programların haritaya çevrilmesini ve aşamaların azaltılmasını gerektirir. Tüm veri analistleri Harita Azaltma'ya aşina olmadığından, Apache domuzu Yahoo araştırmacıları tarafından açığı kapatmak için tanıtıldı. Pig, yüksek düzeyde soyutlama sağlayan ve programcıların karmaşık Harita Azaltma programları yazmak için daha az zaman harcamasını sağlayan Hadoop'un üzerine inşa edilmiştir. Domuz bir kısaltma değildir; evcil bir hayvanın adını almıştır. Bir hayvan domuz her şeyi yerken, Pig her türlü veri üzerinde çalışabilir.

Kaynak

Hadoop'ta Apache Domuz Mimarisi

Apache Pig mimarisi , büyük veri kümelerini işlemek ve analiz etmek için Pig Latin komut dosyalarını kullanan bir Pig Latin yorumlayıcısından oluşur. Programcılar, Hadoop ortamında büyük veri kümelerini analiz etmek için Pig Latin dilini kullanır. Apache domuzu, birleştirme, filtreleme, sıralama, yükleme, gruplama gibi farklı veri işlemlerini gerçekleştirmek için zengin bir veri kümesi kümesine sahiptir.

Programcılar, belirli bir görevi gerçekleştirmek için bir Pig komut dosyası yazmak için Pig Latin dilini kullanmalıdır. Pig, programcıların işini kolaylaştırmak için bu Pig komut dosyalarını bir dizi Harita Azaltma işine dönüştürür. Pig Latin programları, UDF'ler, gömülü ve Grunt kabukları gibi çeşitli mekanizmalar aracılığıyla yürütülür.

Apache Pig mimarisi aşağıdaki ana bileşenlerden oluşur:

  • ayrıştırıcı
  • Optimize Edici
  • Derleyici
  • Yürütme Motoru
  • Yürütme Modu

Tüm bu Pig bileşenlerini ayrıntılı olarak inceleyelim.

Domuz Latince Komut Dosyaları

Pig komut dosyaları, istenen sonuçları elde etmek için Pig yürütme ortamına gönderilir.

Pig komut dosyalarını aşağıdaki yöntemlerden birini kullanarak yürütebilirsiniz:

  • Grunt Kabuk
  • Komut dosyaları
  • Gömülü komut dosyası

ayrıştırıcı

Ayrıştırıcı, tüm Pig Latin deyimlerini veya komutlarını işler. Ayrıştırıcı, Pig deyimleri üzerinde sözdizimi denetimi, tür denetimi gibi çeşitli denetimler gerçekleştirir ve bir DAG (Yönlendirilmiş Döngüsel Olmayan Grafik) çıktısı oluşturur. DAG çıktısı, komut dosyalarının tüm mantıksal operatörlerini düğümler ve veri akışını kenarlar olarak temsil eder.

Optimize Edici

Ayrıştırma işlemi tamamlandıktan ve bir DAG çıktısı oluşturulduktan sonra çıktı, optimize ediciye iletilir. Optimize edici daha sonra çıktı üzerinde bölme, birleştirme, yansıtma, aşağı itme, dönüştürme ve yeniden sıralama vb. gibi optimizasyon etkinliklerini gerçekleştirir. Optimize edici, ayıklanan verileri işler ve aşağı itme ve yansıtma etkinliği gerçekleştirerek gereksiz verileri veya sütunları atlar ve sorgu performansını iyileştirir. .

Derleyici

Derleyici, optimize edici tarafından oluşturulan çıktıyı bir dizi Harita Azaltma işi halinde derler. Derleyici, Pig işlerini otomatik olarak Harita Azaltma işlerine dönüştürür ve yürütme sırasını yeniden düzenleyerek performansı optimize eder.

Yürütme Motoru

Yukarıdaki tüm işlemleri gerçekleştirdikten sonra, bu Harita Azaltma işleri, istenen sonuçları üretmek için Hadoop platformunda yürütülen yürütme motoruna gönderilir. Ardından sonuçları ekranda görüntülemek için DUMP deyimini veya sonuçları HDFS'de (Hadoop Dağıtılmış Dosya Sistemi) depolamak için STORE deyimlerini kullanabilirsiniz.

Yürütme Modu

Apache Pig, yerel ve Harita Azaltma olmak üzere iki yürütme modunda yürütülür. Yürütme modu seçimi, verilerin nerede depolandığına ve Pig komut dosyasını nerede çalıştırmak istediğinize bağlıdır. Verilerinizi yerel olarak (tek bir makinede) veya dağıtılmış bir Hadoop kümesi ortamında depolayabilirsiniz.

  • Yerel Mod – Veri kümeniz küçükse yerel modu kullanabilirsiniz. Yerel modda Pig, yerel ana bilgisayar ve dosya sistemini kullanarak tek bir JVM'de çalışır. Bu modda, tüm dosyalar yerel ana bilgisayara yüklenip çalıştırıldığı için paralel eşleyici yürütmesi imkansızdır. Yerel modu belirtmek için pig -x local komutunu kullanabilirsiniz .
  • Harita Azaltma Modu – Apache Pig, varsayılan olarak Harita Azaltma modunu kullanır. Harita Azaltma modunda, bir programcı, önceden HDFS'de (Hadoop Dağıtılmış Dosya Sistemi) depolanan veriler üzerinde Pig Latin ifadelerini yürütür. Map-Reduce modunu belirtmek için pig -x mapreduce komutunu kullanabilirsiniz .

Kaynak

Domuz Latince Veri Modeli

Pig Latin veri modeli, Pig'in her türlü veriyi işlemesine izin verir. Pig Latin veri modeli tamamen iç içedir ve hem tamsayı, kayan nokta gibi atomik hem de Map ve Tuple gibi atomik olmayan karmaşık veri türlerini işleyebilir.

Veri modelini derinlemesine anlayalım:

  • Atom – Bir atom, bir dizi biçiminde saklanan tek bir değerdir ve bir sayı ve dizi olarak kullanılabilir. Pig'in atomik değerleri tamsayı, çift, kayan nokta, bayt dizisi ve karakter dizisidir. Tek bir atomik değere alan adı da verilir.

Örneğin, “Kiara” veya 27

  • Tuple – Tuple , sıralı bir alan kümesi (herhangi bir tür) içeren bir kayıttır. Bir demet, bir RDBMS'deki (İlişkisel Veritabanı Yönetim Sistemi) bir satıra çok benzer.

Örneğin, (Kiara, 27)

  • Torba – Bir atom, bir dizi biçiminde saklanan tek bir değerdir ve bir sayı ve dizi olarak kullanılabilir. Pig'in atomik değerleri tamsayı, çift, kayan nokta, bayt dizisi ve karakter dizisidir. Tek bir atomik değere alan adı da verilir.

Örneğin, {(Kiara, 27), (Kehsav, 45)}

  • Harita – Bir anahtar/değer çifti kümesi, harita olarak bilinir. Anahtar benzersiz olmalı ve karakter dizisi türünde olmalıdır. Ancak, değer herhangi bir türden olabilir.

Örneğin, [isim#Kiara, yaş#27]

  • İlişki – Bir demet demete ilişki denir.

Bir Domuz İşinin Yürütme Akışı

Aşağıdaki adımlar, bir Pig işinin yürütme akışını açıklar:

  • Geliştirici, Pig Latin dilini kullanarak bir Pig betiği yazar ve onu yerel dosya sisteminde saklar.
  • Pig komut dosyalarını gönderdikten sonra Apache Pig, derleyici ile bir bağlantı kurar ve çıktı olarak bir dizi Harita Azaltma İşi oluşturur.
  • Pig derleyicisi, işlemleri gerçekleştiren HDFS'den ham verileri alır ve Harita Azaltma işleri tamamlandıktan sonra sonuçları HDFS'de depolar.

Ayrıca Okuyun: Apache Domuz Eğitimi

Çözüm

Bu blogda, Apache Pig Mimarisi , Pig bileşenleri, Map Reduce ve Apache Pig arasındaki fark, Pig Latin veri modeli ve bir Pig işinin yürütme akışı hakkında bilgi edindik.

Apache Pig, kolay bir arayüze sahip bir platform sağladığı, kod karmaşıklığını azalttığı ve verimli bir şekilde sonuçlara ulaşmalarına yardımcı olduğu için programcılar için bir nimettir. Yahoo, eBay, LinkedIn ve Twitter, büyük hacimli verilerini işlemek için Pig kullanan şirketlerden bazılarıdır.

Apache Pig, veri bilimi hakkında bilgi edinmek istiyorsanız, IIIT-B & upGrad'ın çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, pratik uygulamalı atölye çalışmaları, endüstri ile mentorluk sunan Veri Biliminde Yönetici PG Programına göz atın uzmanlar, sektör danışmanlarıyla bire bir, 400+ saat öğrenim ve en iyi firmalarla iş yardımı.

Apache Pig'in özellikleri nelerdir?

Apache Pig, büyük veri kümelerinin işlenmesi için kullanılan çok üst düzey bir araç veya platformdur. Veri analiz kodları, Pig Latin adı verilen üst düzey bir betik dili kullanılarak geliştirilmiştir. İlk olarak, programcılar verileri belirli bir haritada işlemek ve görevleri azaltmak için Pig Latince komut dosyaları yazacaklar. Apache Pig, onu çok kullanışlı bir araç yapan birçok özelliğe sahiptir.

1. Sıralama, birleştirme, filtreleme vb. gibi farklı işlemleri gerçekleştirmek için zengin bir operatör seti sağlar.
2. Apache Pig, öğrenmesi, okuması ve yazması kolay olduğu için SQL programcıları için bir nimet olarak kabul edilir.
3. Kullanıcı tanımlı işlevler ve işlemler yapmak kolaydır
4. Herhangi bir işlem veya işlev için daha az kod satırı gerekir
5. Kullanıcıların hem yapılandırılmamış hem de yapılandırılmış verilerin analizini gerçekleştirmesine olanak tanır
6. Birleştirme ve Bölme işlemlerini gerçekleştirmek oldukça kolaydır

Apache Pig'de kullanılabilen yürütme modları nelerdir?

Apache Pig iki farklı modda çalıştırılabilir:

1. Yerel Mod - Tüm dosyalar bu modda yerel dosya sisteminizden ve yerel ana bilgisayardan yüklenecek ve çalıştırılacaktır. Genellikle, bu mod test amacıyla kullanılır. Burada HDFS veya Hadoop'a ihtiyacınız olmayacak.

2. MapReduce Modu - MapReduce modunda, Hadoop Dosya Sisteminde (HDFS) zaten var olan verileri yüklemek ve işlemek için Apache Pig kullanılır. Verileri işlemek için bir Pig Latin deyimi yürütmeye çalıştığımızda, arka uçta bir MapReduce işi çağrılacak. HDFS'de zaten var olan veriler üzerinde belirli bir işlem gerçekleştirecektir.

Apache Pig'in temel uygulamalarından bazıları nelerdir?

Apache Pig, Java programlamayı tam olarak anlayamayan tüm programcılar için bir nimet oldu. Apache Pig ile ilgili en iyi şey, esneklik sunması, diğer platformlardan daha az çaba gerektirmesi ve kodun karmaşıklığını azaltmasıdır.

Apache Pig'in temel uygulamalarından bazıları şunlardır:

1. Veri kümelerinden büyük miktarda verinin işlenmesi
2. Örnekleme kullanımı ile analitik içgörülerin gerekli olduğu her yerde faydalıdır
3. Web taramaları ve arama günlükleri biçiminde çok sayıda veri kümesinin toplanması için
4. Büyük veri kümelerinin işleme algoritmalarını prototiplemek için gereklidir