Ev Trendler Kovan ve domuz için kısa bir giriş

Kovan ve domuz için kısa bir giriş

Anonim

Apache Hive, Hadoop'taki veriler üzerinde geçici sorgular yapmak için Hadoop'un üstünde yer alan bir çerçevedir. Hive, SQL'e benzer, ancak SQL'in tüm yapılarını desteklemeyen HiveQL'i destekler.


Hive, HiveQL sorgusunu bir Java MapReduce programına kaplar ve Hadoop kümesine gönderir. Aynı sonuç HiveQL ve Java MapReduce kullanılarak da elde edilebilir, ancak Java MapReduce kullanımı HiveQL ile karşılaştırıldığında çok fazla kod yazılmasını / hata ayıklanmasını gerektirecektir. Bu nedenle, HiveQL geliştirici verimliliğini artırır.


Özetlemek gerekirse, Hive, HiveQL diliyle Java MapReduce programlamasına göre daha yüksek bir soyutlama sağlar. Diğer yüksek düzey soyutlamalarda olduğu gibi, Java MapReduce ile karşılaştırıldığında HiveQL kullanan bir miktar performans yükü vardır, ancak Hive topluluğu yaygın olarak kullanılan senaryoların çoğu için bu boşluğu daraltmak için çalışmaktadır.


Aynı çizgide Pig, MapReduce üzerinde daha yüksek bir soyutlama sağlar. Pig, Java MapReduce programına dönüştürülen ve daha sonra Hadoop kümesine gönderilen PigLatin yapılarını destekler.



HiveQL, SQL gibi bildirici bir dil olsa da, PigLatin bir veri akışı dilidir. Bir PigLatin yapısının çıktısı, başka bir PigLatin yapısına giriş olarak gönderilebilir vb.


Bir süre önce Cloudera, iş yükü karakteriyle ilgili istatistikleri tipik bir Hadoop kümesinde yayınladı ve Pig ve Hive işlerinin bir Hadoop kümesindeki işlerin iyi bir bölümünü oluşturduğu kolayca görülebilir. Daha yüksek geliştirici verimliliği nedeniyle, birçok şirket Pig ve Hive gibi daha üst düzey özetleri tercih ediyor. Bu nedenle, Hive ve Pig etrafında MapReduce geliştirmesine kıyasla çok fazla iş açıklığı olacağına bahse girebiliriz.



Programlama Domuzu kitabı Ekim 2011'de yayınlanmış olmasına rağmen, Programlama Kovanı kitabı Ekim 2012'de daha yakın bir zamanda yayınlanmıştır. RDBMS ile çalışma deneyimi olanlar için, Hive ile başlamak Pig ile başlamaktan daha iyi bir seçenek olacaktır. Ayrıca PigLatin dilinin başlaması çok zor değildir.


Temel Hadoop kümesi için, bir Java MapReduce işinin gönderilip gönderilmediği veya Hive ve Pig aracılığıyla bir MapReduce işinin gönderilip gönderilmediği şeffaftır. MapReduce işlerinin toplu olarak yönlendirilmiş doğası nedeniyle, Hive ve Pig aracılığıyla gönderilen işler de toplu olarak yönlendirilir.


Gerçek zamanlı yanıt gereksinimleri için, Hive ve Pig, MapReduce işlerinin daha önce belirtilen toplu iş yapısı nedeniyle gereksinimleri karşılamıyor. Cloudera, Hadoop'un üstünde etkileşimli geçici sorgular için Dremel'e (Google'dan bir yayın) dayanan Impala'yı geliştirdi. Impala, SQL benzeri sorguları destekler ve HiveQL ile uyumludur. Bu nedenle, Hive üzerine inşa edilen tüm uygulamalar Impala ile minimum değişikliklerle çalışmalıdır. Hive ve Impala arasındaki en büyük fark, HiveQL Java MapReduce işlerine dönüştürülürken Impala'nın SQL sorgusunu Java MapReduce işlerine dönüştürmemesi.


Belirli bir gereksinim için Domuz veya Kovan ile gitmeli misiniz? Bu başka bir blogun konusu.


Praveen Sripati'nin izniyle yayınlandı. Orijinal makale burada bulunabilir: http://www.thecloudavenue.com/2012/12/introduction-to-apache-hive-and-pig.html

Kovan ve domuz için kısa bir giriş