Apache Hive nedir?
Apache Hive, devasa bir ölçekte analitik sağlayan, dağıtılmış ve hata toleranslı bir veri ambarı sistemidir. Veri ambarları, bilgi ve veri temelli kararlar vermek için kolayca analiz edilebilen merkezî bir bilgi deposu sağlar. Hive, kullanıcıların SQL kullanarak petabaytlarca veri okumalarına, yazmalarına ve yönetmelerine olanak tanır.
Hive, büyük veri kümelerini verimli bir şekilde depolamak ve işlemek için kullanılan açık kaynaklı bir çerçeve olan Apache Hadoop'un üzerine inşa edilmiştir. Sonuç olarak Hive, Hadoop ile yakından entegre edilmiştir ve petabaytlarca veri üzerinde hızlı bir şekilde çalışmak üzere tasarlanmıştır. Hive'ı benzersiz kılan özelliği, SQL benzeri bir arabirimle Apache Tez veya MapReduce kullanarak büyük veri kümelerini sorgulayabilmesidir.
Hive nasıl çalışır?
Hive, SQL'e aşina olmayan ve program yazmayan kişilerin, HiveQL adı verilen SQL benzeri bir arabirim kullanarak petabaytlarca veri ile çalışmasına izin vermek için oluşturulmuştur. Geleneksel ilişkisel veritabanları, küçük ila orta ölçekli veri kümelerinde etkileşimli sorgular için tasarlanmıştır ve büyük veri kümelerini iyi işlemez. Diğer yandan Hive, toplu işlemeyi kullanır ve böylece çok büyük dağıtılmış bir veritabanında hızlı çalışır. Hive, HiveQL sorgularını Apache Hadoop'un dağıtılmış iş planlama çerçevesi Yet Another Resource Negotiator (YARN) üzerinde çalışan MapReduce veya Tez işlerine dönüştürür. Hadoop Dağıtılmış Dosya Sistemi (HDFS) veya Amazon S3 gibi dağıtılmış bir depolama çözümünde depolanan verileri sorgular. Hive, veritabanını ve tablo meta verilerini, kolay veri soyutlama ve keşif sağlayan bir veritabanı ya da dosya destekli bir depo olan bir meta deposunda saklar.
Hive; Hive, Apache Pig ve MapReduce arasında sorunsuz entegrasyonu kolaylaştırmak için Hive meta deposundan veri okuyan bir tablo ve depolama yönetimi katmanı olan HCatalog içerir. HCatalog, meta depo kullanarak Pig ve MapReduce'un Hive ile aynı veri yapılarını kullanmasına olanak sağlar, böylece meta verilerin her bir altyapı için yeniden tanımlanması gerekmez. Özel uygulamalar veya üçüncü taraf entegrasyonları, Hive meta verilerine erişmek ve bunları yeniden kullanmak üzere HCatalog için bir RESTful API'si olan WebHCat'i kullanabilir.
Hive'ın avantajları nelerdir?
Hızlı
Hive, toplu işlemeyi kullanarak petabaytlarca veriyi hızlı bir şekilde işlemek için tasarlanmıştır.
Tanıdık
Hive, programcı olmayanların erişebileceği tanıdık, SQL benzeri bir arabirim sağlar.
Ölçeklenebilir
Hive'ın ihtiyaçlarınıza göre dağıtılması ve ölçeklendirilmesi kolaydır.
Apache Hive ile Apache HBase arasındaki farklar nelerdir?
Apache HBase, petabaytlarca veriye rastgele, sıkı bir şekilde tutarlı ve gerçek zamanlı erişim imkanı sağlayan bir NoSQL dağıtılmış veri tabanıdır. Apache Hive, SQL benzeri sorgulama özellikleri sağlayan dağıtılmış bir veri ambarı sistemidir.
Özellikler |
Apache Hive |
Apache HBase |
İşlev |
Yüksek hacimli veri depoları için tasarlanmış SQL benzeri sorgu altyapısı. Birden fazla dosya biçimi desteklenir. |
Özel sorgu özelliklerine sahip düşük gecikmeli dağıtılmış anahtar-değer deposu. Veriler sütun odaklı bir biçimde saklanır. |
İşleme Türü |
Apache Tez veya MapReduce işlem çerçevelerini kullanarak toplu işleme. |
Gerçek zamanlı işleme. |
Gecikme Süresi |
İşlem altyapısının duyarlılığına bağlı olarak orta ila yüksek. Dağıtılmış yürütme modeli, aynı veri hacimleri için RDBMS gibi monolitik sorgu sistemlerine kıyasla üstün performans sağlar. |
Düşük ancak tutarsız olabilir. HBase mimarisinin yapısal sınırlamaları, yoğun yazma yükleri altında gecikme artışlarına neden olabilir. |
Hadoop Entegrasyonu |
İşleme için Apache Tez veya MapReduce ve depolama için HDFS veya Amazon S3 ile Hadoop üzerinde çalışır. |
HDFS veya Amazon S3 üzerinde çalışır. |
SQL Desteği |
HiveQL ile SQL benzeri sorgulama özellikleri sağlar. |
Kendi başına SQL desteği yoktur. SQL özellikleri için Apache Phoenix'i kullanabilirsiniz. |
Şema |
Tüm tablolar için tanımlanmış şema. |
Şema içermez. |
Veri Türleri |
Yapılandırılmış ve yapılandırılmamış verileri destekler. INT, FLOAT ve VARCHAR gibi yaygın SQL veri türleri için yerel destek sağlar. |
Yalnızca yapılandırılmamış verileri destekler. Kullanıcı, veri alanlarının Java destekli veri türlerine eşlemelerini tanımlar. |
Hive için kullanım örnekleri nelerdir?
Guardian, 27 milyon üyeye sigorta ve varlık yönetimi ürünleri ve hizmetleri aracılığıyla hak ettikleri güvenliği sağlıyor. Guardian, bir S3 veri gölünde Apache Hive'ı çalıştırmak için Amazon EMR'yi kullanıyor. Apache Hive, toplu işleme için kullanılıyor. S3 veri gölü, tüketicilerin sigorta sektöründeki hem Guardian ürünlerini hem de üçüncü taraf ürünlerini araştırmasına ve satın almasına olanak tanıyan dijital bir platform olan Guardian Direct'i besliyor.
FINRA (Finans Endüstrisi Düzenleme Kurumu) Amerika Birleşik Devletleri'ndeki en büyük bağımsız menkul kıymetler düzenleyicisidir ve finansal ticaret uygulamalarını izler ve düzenler. FINRA, bir S3 veri gölünde Apache Hive'ı çalıştırmak için Amazon EMR'yi kullanıyor. Hive'ı EMR kümelerinde çalıştırmak, FINRA'nın SQL kullanarak 90 milyara kadar olayın ticaret verilerini işlemesini ve analiz etmesini sağlıyor. Bulut veri gölü, FINRA'nın şirket içi çözümüne kıyasla 20 milyon USD'ye kadar maliyet tasarrufu sağladı, ayrıca kurtarma ve yükseltmeler için gereken süreyi önemli ölçüde azalttı.
Amerikalı bir yatırım danışmanı olan Vanguard, ortak fonların en büyük sağlayıcısı ve borsa yatırım fonlarının ikinci en büyük sağlayıcısıdır. Vanguard, bir S3 veri gölünde Apache Hive'ı çalıştırmak için Amazon EMR'yi kullanıyor. Veriler S3'te depolanıyor ve EMR, bu verilerin üzerine bir Hive meta deposu oluşturuyor. Hive meta deposu, EMR kümesindeki veriler ve tablolar hakkındaki tüm meta verileri içeriyor ve bu da kolay veri analizine olanak sağlıyor. Hive ayrıca analistlerin S3 veri gölünde depolanan veriler üzerinde geçici SQL sorguları gerçekleştirmelerini sağlıyor. Amazon EMR ile bir S3 veri gölüne geçiş yapmak, 150'den fazla veri analistinin operasyonel verimlilik elde etmesini sağladı, ayrıca EC2 ve EMR maliyetlerini 600.000 USD azalttı.
AWS, Hive'ı nasıl destekleyebilir?
Amazon EMR, müşterilerin dinamik olarak ölçeklenebilir EC2 bulut sunucularında büyük miktarda veri işlemesine olanak tanıyan en kolay, en hızlı ve en uygun maliyetli yönetilen Hadoop çerçevesini sağlar. Müşteriler ayrıca EMR'de Apache Hive, Spark, HBase, Presto ve Flink gibi diğer popüler dağıtılmış çerçeveleri de çalıştırabilir.
Amazon EMR hakkında daha fazla bilgi edinin
Hemen ücretsiz bir AWS hesabı oluşturarak AWS'de Apache Hive'ı kullanmaya başlayın.