Hadoop'ta Hive nedir? Tarih ve Bileşenleri

Yayınlanan: 2021-10-07

Apache Hive, Hadoop üzerine kurulmuş açık kaynaklı bir depolama sistemidir. Hive, Hadoop içinde depolanan büyük veri kümelerini sorgulamak ve analiz etmek için kullanılır. Hem yapılandırılmış hem de yarı yapılandırılmış verileri işleyerek çalışır.

Bu makale aracılığıyla Hadoop'ta Hive, tarihi, önemi, Hive mimarisi, bazı temel özellikler, birkaç sınırlama ve daha fazlası hakkında ayrıntılı olarak konuşalım!

İçindekiler

Hive nedir?

Apache Hive, temel olarak Hadoop kullanılarak oluşturulmuş bir veri ambarı yazılımıdır. Apache Hive'dan önce Büyük Veri mühendisleri, sorgulama görevlerini gerçekleştirmek için karmaşık harita küçültme işleri yazmak zorundaydı. Öte yandan, Hive ile, mühendislerin artık yalnızca SQL bilmesi gerektiği için işler büyük ölçüde azaldı.

Hive, HiveQL (SQL'e benzer) olarak bilinen bir dilde çalışır ve bu, SQL hakkında bilgi sahibi olan mühendislerin işini kolaylaştırır. HiveQL, SQL sorgularınızı otomatik olarak Hadoop'un yürütebileceği harita azaltma işlerine dönüştürür.

Bunu yaparken Apache, Hadoop'un çalışmasına soyutlama kavramını sunar ve veri uzmanlarının Hive ile çalışmak için Java programlama dilini öğrenmeden karmaşık veri kümeleriyle uğraşmasına olanak tanır. Apache Hive, iş istasyonunuzda çalışır ve SQL sorgularını Hadoop kümesinde yürütülecek harita azaltma işlerine dönüştürür. Hive, tüm verilerinizi tablolar halinde sınıflandırır, böylece HDFS'de bulunan tüm verilere bir yapı sağlar.

Apache Hive'ın Tarihi

Veri Altyapısı Ekibi, Facebook'ta Apache Hive'ı tanıttı. Bu, Facebook'ta çok sayıda dahili amaç için proaktif olarak kullanılan teknolojilerden biridir. Yıllar boyunca, Apache Hive, çeşitli uygulamalar için yüzlerce kullanıcıyla kümede binlerce iş çalıştırdı.

Facebook'taki Hive-Hadoop kümesi, 3PB'den fazla ham veri depolar. Günlük olarak gerçek zamanlı olarak 15 TB veri yükleyebilir. Oradan, Apache Hive kullanım durumlarında daha da büyüdü ve bugün IBM, Yahoo, Amazon, FINRA, Netflix ve daha fazlası gibi devler tarafından kullanılıyor.

Veri bilimi sertifikanızı dünyanın en iyi üniversitelerinden çevrimiçi olarak alın . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Neden Apache Hive İhtiyacı Var?

Apache Hive ile gelmeden önce Facebook, analiz edilecek sürekli artan veri boyutu ve bu büyük veri kümesindeki mutlak tutarsızlık gibi birçok zorlukla mücadele etti. Bu zorluklar, Facebook'un veri yoğun görevlerini sorunsuz bir şekilde yerine getirmesini zorlaştırdı. Geleneksel RDBMS tabanlı yapılar, sürekli artan basıncı kontrol etmek için yeterli değildi.

Facebook önce bu zorlukların üstesinden gelmek için harita küçültmeyi tanıttı, ancak daha sonra HiveQL üzerinde çalışan Apache Hive'ı sunarak bunu daha da basitleştirdi.

Sonunda, Apache Hive çok ihtiyaç duyulan kurtarıcı olarak ortaya çıktı ve Facebook'un çeşitli zorlukların üstesinden gelmesine yardımcı oldu. Artık Facebook, Apache Hive kullanarak aşağıdakileri başarabildi:

  • Şemanın evrimi ve esnekliği.
  • Tabloların bölümlenmesi ve kovalanması.
  • Hive tablolarını doğrudan HDFS'de tanımlama.
  • ODBC/JDBC sürücülerinin kullanılabilirliği.

Sonuç olarak, Apache Hive, geliştiricilerin, aksi takdirde karmaşık harita küçültme işleri yazmaya gidecekleri zamandan tasarruf etmelerine yardımcı oldu. Hive, verileri özetleme, analiz etme, sorgulama ve keşfetmeye basitlik getirir.

Yalnızca SQL'e bağlı olan Apache Hive, hızlı ve ölçeklenebilir bir çerçevedir ve oldukça genişletilebilirdir. SQL kullanarak temel sorgulamayı anlarsanız, kısa sürede Apache Hive ile çalışabileceksiniz! Ayrıca HBase ve HDFS gibi farklı veri depolarında dosya erişimi sunar.

Apache Kovanının Mimarisi

Artık Apache Hive'ın önemini ve ortaya çıkışını anladığınıza göre, Apache Hive'ın ana bileşenlerine bakalım. Apache Hive mimarisi şunları içerir:

1. Meta Deposu

Bu, tabloların her biri için meta verileri depolamak için kullanılır. Meta veriler genellikle konum ve şemadan oluşur. Metastore ayrıca, mühendislerin kümeler üzerine dağıtılmış farklı veri kümelerinin ilerlemesini izlemelerine yardımcı olan bölüm meta verilerinden oluşur. Burada depolanan veriler geleneksel RDBMS formatındadır.

2. Sürücü

Apache Hive'daki sürücü, HiveQL ifadelerini almaktan sorumlu bir denetleyici gibidir. Daha sonra farklı oturumlar oluşturarak bu deyimlerin yürütülmesini başlatır. Sürücü, uygulamanın yaşam döngüsünü ve yol boyunca ilerlemesini izlemek ve yönetmekten de sorumludur. Sürücüler, bir HiveQL ifadesi yürütüldüğünde oluşturulan tüm önemli meta verileri tutar. Ayrıca, harita küçültme işleminden sonra elde edilen verilerin bir toplama noktası görevi görür.

3. Derleyici

Derleyici, HiveQL sorgularını derlemek için kullanılır. Kullanıcı tarafından oluşturulan sorguları, gerçekleştirilmesi gereken tüm görevleri içeren kusursuz bir yürütme planına dönüştürür. Plan aynı zamanda gerekli çıktıyı elde etmek için harita küçültmeyi takip etmek için gereken tüm adımları ve prosedürleri içerir. Hive derleyicisi, derleme zamanı hatalarını veya uyumluluk sorunlarını kontrol etmek için kullanıcı girişi sorgusunu AST'ye (Özet Sözdizimi Ağacı) dönüştürür. AST, sorunlardan hiçbiriyle karşılaşılmadığında Yönlendirilmiş Döngüsel Grafiğe (DAG) dönüştürülür.

4. Optimize Edici

Optimize edici, optimize edilmiş DAG'ye ulaşmak için gereken yürütme planındaki tüm dönüşümleri yapar. Bunu, performansı artırmak için bir dizi bireysel birleştirmeyi tek bir birleştirmeye dönüştürmek gibi tüm dönüşümleri bir araya toplayarak yapar. Buna ek olarak, optimize edici, genel performansı iyileştirmek için, azaltılmış işlem gerçekleştirilmeden önce veriler üzerinde bir dönüşüm uygulayarak farklı görevleri bölebilir.

5. Yürütücü –

Apache Hive, derleme ve optimizasyon görevlerini gerçekleştirdikten sonra, yürütücü son yürütmeleri gerçekleştirir. Görevleri sıraya koymak ve onları tamamlamaya getirmekle ilgilenir.

6. CLI, UI ve Thrift Sunucusu

Komut satırı arabirimi (CLI), harici kullanıcıya Apache Hive'ın farklı özellikleriyle etkileşim kurması için bir kullanıcı arabirimi sağlamak için kullanılır. CLI, son kullanıcılar için Hive kullanıcı arayüzünü oluşturan şeydir. Öte yandan, Thrift sunucusu, harici istemcilerin ODBC veya JDBC protokollerine benzer şekilde bir ağ üzerinden Hive ile etkileşime girmesine izin verir.

Apache Hive'ın Temel Özellikleri

Daha önce de belirtildiği gibi, Apache Hive, mühendislerin veri işlerinde çalışma biçiminde çok ihtiyaç duyulan bir değişikliği getirdi. Java artık tercih edilen dil değildi ve geliştiriciler yalnızca SQL kullanarak çalışabilirdi. Bunun dışında, Hive'ın aşağıdakiler gibi birkaç temel özelliği daha vardır:

  • Apache Hive, çok daha basitleştirilmiş bir şekilde veri özetleme, analiz ve sorgulama sunar.
  • Hive, dahili ve harici tabloları destekleyerek harici verileri H DFS'ye getirmeden çalışmayı mümkün kılar.
  • Apache Hive, Hadoop'un düşük seviyeli arayüz gereksinimi için mükemmel şekilde çalışır.
  • Apache Hive, tablolar düzeyinde veri bölümlemeyi destekleyerek genel performansın iyileştirilmesine yardımcı olur.
  • Farklı mantıksal planları optimize etmek için kural tabanlı bir optimize ediciye sahiptir.
  • SQL'e benzer bir dil olan HiveQL üzerinde çalışır, bu da geliştiricilerin büyük veri kümeleriyle çalışmak için başka bir dilde uzmanlaşmasına gerek olmadığı anlamına gelir.
  • Hive'da sorgulama, SQL'e benzer şekilde son derece basittir.
  • Hive kullanarak veri analizi için Ad-hoc sorguları da çalıştırabiliriz.

Apache Hive'ın Sınırlandırılması

Veri Bilimi dünyası nispeten yeni ve sürekli gelişen olduğundan, piyasada bulunan en iyi araçların bile bazı sınırlamaları vardır. Bu sınırlamaları çözmek, bize bir sonraki en iyi araçları verecek. Aklınızda bulundurmanız için Apache Hive ile çalışmanın birkaç sınırlaması şunlardır:

  • Hive, satır düzeyinde güncellemeler ve gerçek zamanlı sorgulama sunmaz.
  • Apache Hive, etkileşim için kabul edilebilir gecikme sağlar.
  • Çevrimiçi işlemlerle çalışmak için en iyisi değil.
  • Hive sorgularındaki gecikme genellikle ortalamanın üzerindedir.

Sonuç olarak

Apache Hive, veri mühendislerinin büyük veri kümeleri üzerinde çalışma biçiminde büyük ve şaşırtıcı gelişmeler sağladı. Ayrıca Apache Hive, Java programlama diline olan ihtiyacı tamamen ortadan kaldırarak veri mühendislerine tanıdık bir rahatlık getirdi. Temel SQL sorgulama bilgisine sahipseniz, bugün Apache Hive ile sorunsuz çalışabilirsiniz.

Daha önce de belirttiğimiz gibi, Veri Bilimi dinamik ve sürekli gelişen bir alandır. Önümüzdeki yılların işleri daha da basitleştirmek için yeni araçlar ve çerçeveler getireceğinden eminiz. Veri Bilimi ticaretinin tüm araçlarını öğrenmek isteyen bir veri meraklısıysanız, şimdi Hive gibi Büyük Veri araçlarını kullanmanın en iyi zamanı.

upGrad'da dünyanın her yerinden öğrencilere rehberlik ettik ve onlara rehberlik ettik ve farklı geçmişlere sahip insanların Veri Bilimi endüstrisinde sağlam bir yer edinmelerine yardımcı olduk. Uzman öğretmenlerimiz, endüstri ortaklıklarımız, yerleştirme yardımımız ve güçlü mezun ağımız, bu yolculukta asla yalnız kalmamanızı sağlar. O halde Veri Biliminde Yönetici PG Programımıza göz atın ve sizin için doğru olana kaydolun – gerisini biz hallederiz!

Hadoop'ta Apache Hive nedir?

Apache Hive, büyük veri kümelerini depolamak, sorgulamak ve analiz etmek için kullanılan bir çerçeve veya sistemdir. Apache Hive, dahili operasyonlarını geliştirmek için Facebook tarafından tanıtıldı ve o zamandan beri Veri Bilimi yelpazesinin ayrılmaz bir parçası oldu.

Hadoop'ta Apache Hive ile çalışmak için belirli bir dil öğrenmem gerekiyor mu?

Numara! Apache Hive'ı kullanmaya başlamanız için sadece SQL çalışma bilgisi yeterli olacaktır!

Apache Hive ne için KULLANILMAZ?

Apache Hive genellikle OLAP (toplu işleme) için kullanılır ve veritabanındaki gerçek zamanlı işlemler nedeniyle genellikle OLTP için kullanılmaz.