Derinlemesine anlama
Hadoop
HadoopApachevakfın açık kaynaklı bir projesidir . Java2005 yılında Doug Cutting tarafından geliştirilen, yazılı bir çerçevedir Nutch. Metin arama motoru dağıtımını desteklemek için oluşturulmuştur . temeli olarak Google ve Google Dosya Sistemi Teknolojilerini Hadoopkullanır Map Reduce.
Hadoop'un Özellikleri
- Emtia donanımı kullanılarak büyük miktarlarda yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış veriyi işleyecek şekilde optimize edilmiştir.
- Hiçbir şey mimariyi paylaşmadı.
- Verilerini birden çok bilgisayara çoğaltır, böylece biri düşerse, veri yine de kopyasını depolayan başka bir makineden işlenebilir.
Hadoopdüşük gecikme yerine yüksek verim içindir. Çok büyük miktarda veri işleyen bir toplu işlemdir; bu nedenle tepki süresi hemen gerçekleşmez.
- Çevrimiçi İşlem İşleme ve Çevrimiçi Analitik İşlemeyi tamamlar. Ancak, a yerine geçmez
RDBMS.
- İşin paralelleştirilemediği veya veriler içinde bağımlılıklar olduğu zaman iyi değildir.
- Küçük dosyaları işlemek için iyi değildir. Büyük veri dosyaları ve veri kümeleriyle en iyi şekilde çalışır.
Hadoop versiyonları
Kullanılabilir iki sürümü Hadoopvardır:
- Hadoop 1.0
- Hadoop 2.0
Hadoop 1.0
İki ana parçası vardır:
1. Veri Depolama Çerçevesi
Hadoop Dağıtılmış Dosya Sistemi ( HDFS) adı verilen genel amaçlı bir dosya sistemidir .
HDFS şema içermez
Sadece veri dosyalarını saklar ve bu veri dosyaları hemen hemen her formatta olabilir.
Fikir, dosyaları orijinal formlarına mümkün olduğunca yakın saklamaktır.
Bu da iş birimlerine ve kuruluşa, uygulayabilecekleri konusunda aşırı endişe duymadan ihtiyaç duyulan esneklik ve çevikliği sağlar.
2. Veri İşleme Çerçevesi
Bu, başlangıçta Google olarak popüler hale getirilen basit bir işlevsel programlama modelidir MapReduce.
Temelde iki işlev kullanır: MAPve REDUCEverileri işlemek için.
"Eşleyiciler" bir dizi anahtar / değer çifti alır ve ara veriler (anahtar / değer çiftlerinin başka bir listesi) oluşturur.
"Redüktörler" daha sonra çıktı verilerini üretmek için bu girdi üzerinde hareket eder.
İki işlev görünüşte birbiriyle yalıtılmış çalışır, böylece işlemenin yüksek derecede paralel, hata toleransı ve ölçeklenebilir şekilde dağıtılmasını sağlar.
Hadoop 1.0'ın Sınırlamaları
İlk sınırlama MapReduceprogramlama uzmanlığının gerekliliğiydi .
Yalnızca günlük analizi, büyük ölçekli veri madenciliği projeleri gibi görevler için uygun olmasına rağmen diğer tür projeler için pek uygun olmayan toplu işlemeyi destekledi.
Önemli bir sınırlama, Hadoop 1.0hesaplamaya sıkı sıkıya bağlı olduğuydu; MapReducebu, kurulu veri yönetimi satıcılarının iki görüşle kaldığı anlamına geliyordu:
Ya da içinde çalışabilmek için işlevlerini yeniden MapReduceyazın Hadoopveya
Dışından veri ayıklayın HDFSveya işleyin Hadoop.
HadoopKümenin içine ve dışına taşınan verilerin neden olduğu işlem verimsizliklerine yol açtığı için seçeneklerin hiçbiri uygun değildi .
Hadoop 2.0
Gelen Hadoop 2.0, HDFSveri depolama çerçeve olmaya devam ediyor.
Bununla birlikte, adı verilen yeni ve ayrı bir kaynak yönetim çerçevesi , Y ve A nother R esource N egotiater ( İPLİK ) ilave edilmiştir.
Kendini paralel görevlere ayırabilen her uygulama YARN tarafından desteklenir.
YARN, sunulan uygulamanın alt görevlerinin tahsisini koordine eder, böylece uygulamaların esnekliğini, ölçeklenebilirliğini ve verimliliğini daha da artırır.
Yeni Node Manager tarafından yönetilen kaynaklar üzerinde uygulamalar çalıştırarak , İş Takibi yerine bir Uygulama Yöneticisi uygulayarak çalışır .
ApplicationMaster sadece herhangi bir uygulamayı çalıştıramaz MapReduce.
Bu, yalnızca toplu işlemeyi değil, aynı zamanda gerçek zamanlı işlemeyi de desteklediği anlamına gelir. MapReduceartık tek veri işleme seçeneği değil.
Hadoop'un Avantajları
Verileri yerel olarak içinde saklar. Veri girilirken veya veri saklanırken dayatılan bir yapı yoktur. HDFSşema daha az. Ancak daha sonra verilerin işlenmesi gerektiğinde, yapının ham verilere dayatılması gerekir.
Ölçeklenebilir. Hadoopparalel çalışan yüzlerce ucuz sunucuda çok büyük veri kümelerini depolayabilir ve dağıtabilir.
Başarısızlığa karşı dayanıklıdır. Hadoophata toleransıdır. Verilerin titizlikle çoğaltılmasını uygular, yani herhangi bir düğüme veri gönderildiğinde, aynı veriler kümedeki diğer düğümlere de çoğaltılır, böylece düğüm hatası durumunda, her zaman kullanım için başka bir veri kopyası olmasını sağlar.
Esnek. En önemli avantajlarından biri Hadoop, her türlü veriyle çalışabilmesidir: yapılandırılmış, yapılandırılmamış veya yarı yapılandırılmış. Ayrıca, Hadoop"kodu verilere taşı" paradigması nedeniyle işlem oldukça hızlıdır .
Hadoop Ekosistemi
HadoopEkosistemin bileşenleri şunlardır :
HDFS : HadoopDağıtılmış Dosya Sistemi. Veri dosyalarını orijinal forma mümkün olduğunca yakın depolar.
HBase : Hadoop'un veritabanıdır ve bir RDBMS. Büyük tablolar için yapılandırılmış veri depolamayı destekler.
Hive : Bu standart çok benzer bir dil kullanarak büyük veri kümelerinin analizini sağlayan ANSI SQLo kimse familier ima, SQLbir üzerine verilere erişme gerekir Hadoopküme.
Domuz : Veri akışı dilini anlamak kolaydır. Oldukça iyi olan büyük veri kümelerinin analizine yardımcı olur Hadoop. Pigkomut dosyaları yorumlayıcı MapReducetarafından otomatik olarak işlere dönüştürülür Pig.
ZooKeeper : Dağıtık uygulamalar için bir koordinasyon hizmetidir.
Oozie : schedularApache Hadoopişlerini yönetmek için kullanılan bir iş akışı sistemidir .
Mahout : Ölçeklenebilir bir makine öğrenimi ve veri madenciliği kütüphanesidir.
Chukwa : Büyük dağıtık sistemi yönetmek için veri toplama sistemidir.
Sqoop : Hadoopİlişkisel veritabanları gibi yapılandırılmış veri depoları arasında toplu veri aktarımı için kullanılır .
Ambari : HadoopKümelerin sağlanması, yönetimi ve izlenmesi için web tabanlı bir araçtır .
kovan
Hiveyapılandırılmış verileri işlemek için bir veri ambarı altyapı aracıdır Hadoop. Bu üst üste bulunduğu HadoopHacimli verileri özetlemek ve sorgulama ve kolay analiz yapar.
Kovan değil
İlişkisel veritabanı
Çevrimiçi İşlem İşleme ( OLTP) için bir tasarım .
Gerçek zamanlı sorgular ve satır düzeyinde güncellemeler için bir dil.
Kovanın Özellikleri
Şemayı veritabanında saklar ve işlenen verileri içine alır HDFS.
İçin tasarlanmıştır OLAP.
Veya SQLadlı sorgulama için yazım dili sağlar .HiveQLHQL
Tanıdık, hızlı, ölçeklenebilir ve genişletilebilir.
Kovan Mimarisi
Aşağıdaki bileşenler Kovan Mimarisinde bulunur:
Kullanıcı Arayüzü : kullanıcı ve arasında etkileşim oluşturabilen Hivebir data warehousealtyapıdır HDFS. Desteklenen Kullanıcı Arabirimleri Hive, Hive Web Kullanıcı Arayüzü, Hive Komut satırı ve Hive HD Insight'tır (Windows Server'da).
MetaStore : şemayı veya tabloları, veritabanlarını, bir tablodaki sütunları, veri türlerini ve eşlemeyi saklamak için Hiveilgili seçimleri yapar .database serversMetadataHDFS
HiveQL Process Engine : üzerindeki şema bilgilerinin sorgulanmasına HiveQLbenzer . Program için geleneksel yaklaşımın yerini almıştır . Bunun yerine yazma yılında , biz bir sorgu yazabilir ve işlemek.SQLMetastoreMapReduceMapReduceJavaMapReduce
Exceution Motor : bir kesişme bölümü HiveQLsüreci motoru ve MapReducebir HiveYürütme Motoru. Yürütme altyapısı sorguyu işler ve aynı sonuçları üretir MapReduce results. Lezzetini kullanır MapReduce.
HDFS veya HBase : HadoopDağıtılmış Dosya Sistemi veya HBaseverileri dosya sistemine depolamak için kullanılan veri depolama teknikleridir.