En Yaygın HBase Mülakat Soruları ve Cevapları [Nihai Kılavuz]
Yayınlanan: 2020-09-21Apache HBase, uygulamanızın gerçek zamanlı olarak veri göndermesini veya çekmesini istediğiniz zamanlar için mükemmel bir büyük veri çözümüdür. Esas olarak esnek şeması ve yüksek hızı ile bilinir. Bu makale, size en önemli HBase mülakat sorularından bazılarının yanıtlarını vermeyi amaçlamaktadır . Mülakatçılar adayların teknik ve genel farkındalıklarını test etmek isterler. Bu nedenle, çabanız kavramları doğru ve eksiksiz bir şekilde iletmek olmalıdır.
Adobe, HubSpot, Facebook, Twitter, Yahoo!, OpenLogic ve StumbleUpon dahil olmak üzere dünya çapında birçok lider şirket Hbase teknolojisini kullanıyor. Ölçeklenebilir web siteleri oluşturmak isteyen web geliştiricileri için Hadoop ve HBase gibi mastering araçları son derece yararlı olabilir.
Dünyanın en iyi Üniversitelerinden veri bilimini öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Okuyun: Hadoop Proje Fikirleri
İçindekiler
En İyi HBase Mülakat Soruları ve Cevapları
1. HBase nedir?
Apache Software Foundation tarafından geliştirilen sütun odaklı bir veritabanıdır. Bir Hadoop kümesinin üzerinde çalışan HBase, yarı yapılandırılmış ve yapılandırılmamış verileri depolamak için kullanılır. Bu nedenle, geleneksel ilişkisel veritabanındaki gibi katı bir şemaya sahip değildir. Ayrıca, bir SQL sözdizimi yapısını desteklemez. HBase, küme ve bölge sunucularını düzenleyen bir ana düğüm aracılığıyla verileri depolar ve bunlar üzerinde çalışır.
2. Hbase kullanma nedenleri nelerdir?
HBase, yüksek kapasiteli bir depolama sistemi ve rastgele okuma ve yazma işlemleri sunar. Saniyede birkaç işlem gerçekleştirerek büyük veri kümelerini işleyebilir. Dağıtılmış ve yatay olarak ölçeklenebilir tasarım, HBase'i gerçek zamanlı uygulamalar için popüler bir seçim haline getirir.
3. HBase'in temel bileşenlerini açıklayın.
HBase'in çalışma bölümleri arasında Zookeeper, HBase Master, RegionServer, Region ve Catalog Tabloları bulunur. Her bir unsurun amacı şu şekilde açıklanabilir:
- Zookeeper, istemci ve HBase Master arasında koordinasyon sağlar
- HBase Master, RegionServer'ı izler ve yönetici işlevleriyle ilgilenir
- RegionServer Bölgeyi denetler
- Bölge, MemStore ve HFile'ı içerir
- Katalog Tabloları ROOT ve META'dan oluşur
Temel olarak Hbase, her tablonun satırları, sütunları ve birincil anahtarı olan bir dizi tablodan oluşur. Bir nesnenin özniteliğini belirten HBase sütunudur.
4. HBase'deki farklı operasyonel komut türleri nelerdir?
HBase'de beş önemli operasyonel komut vardır: Al, Sil, Yerleştir, Arttır ve Tara.
Get, tabloyu okumak için kullanılır. HTable.get aracılığıyla yürütülür, tablodan belirli bir satırın verilerini veya özniteliklerini döndürür. Sil tablodaki satırları kaldırırken, Put satırları ekler veya günceller. Arttırma, tek satırda artırma işlemlerine olanak tanır. Son olarak, belirli öznitelikler için birden çok satır üzerinde yineleme yapmak için Tarama kullanılır.
5. WAL ve Hlog'dan ne anlıyorsunuz?
- WAL, İleriye Yaz Günlüğü anlamına gelir ve MySQL'deki BIN günlüğüne oldukça benzer. Verilerdeki tüm değişiklikleri kaydeder.
- HLog, Hadoop'un HLogkey deposunu koruyan standart bellek içi sıra dosyasıdır.
WAL ve HLog, sunucu arızası ve veri kaybı durumlarında yaşam çizgisi görevi görür. RegionServer çökerse veya kullanılamaz hale gelirse, WAL dosyaları veri değişikliklerinin yeniden oynatılabilmesini sağlar.
6. Hbase'i kullanacağınız bazı durumları tanımlayın.
HBase'i şu durumlarda kullanmak uygundur:
- Verilerinizin boyutu çok büyüktür ve milyonlarca kayıt üzerinde işlem yapmanızı gerektirir.
- Tam bir yeniden tasarım uyguluyor ve geleneksel RDBMS'yi elden geçiriyorsunuz.
- Kümelerde altyapı yatırımı yapmak için kaynaklara sahipsiniz.
- İşlemler, yazılan sütunlar, iç satırlar vb. gibi belirli SQL'siz komutlar vardır.
7. Sütun aileleri ve satır anahtarları ile ne demek istiyorsunuz?
Sütun aileleri, HBase'deki temel depolama birimlerini oluşturur. Bunlar, tablo oluşturma sırasında tanımlanır ve diskte birlikte saklanır, daha sonra sıkıştırma gibi özelliklerin uygulanmasına izin verir.
Bir satır anahtarı, hücrelerin mantıksal olarak gruplandırılmasını sağlar. Birleştirilmiş anahtarın önüne eklenir ve uygulamanın sıralama düzenini tanımlamasına izin verir. Bu şekilde aynı satır anahtarına sahip tüm hücreler aynı sunucuya kaydedilebilir.
8. HBase'in ilişkisel bir veritabanından farkı nedir?
HBase, seyrek doldurulmuş tablolar içeren şemasız, sütun yönelimli bir veri deposu olduğundan ilişkisel bir veritabanından farklıdır. İlişkisel bir veritabanı şema tabanlıdır, satır yönelimlidir ve normalleştirilmiş verileri ince tablolarda saklar. Ayrıca, HBase otomatik bölümleme avantajına sahiptir, oysa RDBMS'de böyle bir yerleşik destek yoktur.

Okuyun: DBMS ve RDBMS: DBMS ve RDBMS Arasındaki Fark
9. HBase'de bir hücreyi ne oluşturur?
Hücreler, verileri demetler halinde tutan en küçük HBase tablo birimleridir. Tuple, birden çok parçaya sahip bir veri yapısıdır. HBase'de {satır, sütun, sürüm}'den oluşur.
10. HBase'de sıkıştırmayı tanımlayın.
Sıkıştırma, eski dosyalar veritabanından kaldırılmadan önce HFiles'ı tek bir dosyada birleştirmek için kullanılan işlemdir.
11. HBase kullanmadan doğrudan HFile'a erişebilir misiniz?
Evet, HBase'in yardımı olmadan doğrudan HFile'a erişmek için benzersiz bir teknik var. HFile.main yöntemi bu amaç için kullanılabilir.
12. HBase'de silme ve mezar taşı işaretçilerini tartışın.
HBase'de normal bir silme işlemi, bir mezar taşı işaretçisi ile sonuçlanır. Silinen hücreler görünmez hale gelir, ancak bunlarla temsil edilen veriler, sıkıştırma sırasında fiilen kaldırılır. HBase'in üç tür mezar taşı işaretçisi vardır:
- Sürüm silme işaretçisi: Silinmek üzere bir sütunun tek bir sürümünü işaretler
- Sütun silme işaretçisi: Bir sütunun tüm sürümlerini işaretler
- Aile silme işaretçisi: Bir sütun ailesinin tüm sütunlarını silinmek üzere ayarlar
Burada, büyük sıkıştırmadan sonra HBase'deki bir satırın tamamen silineceğine dikkat edilmelidir. Bu nedenle, silip daha fazla veri eklediğinizde, Get'ler kaldırıldı olarak işaretlenmiş işaretçilerle maskelenebilir ve eklenen değerleri sıkıştırmalardan sonra göremeyebilirsiniz.
13. Bir sütun ailesinin blok boyutunu değiştirdiğinizde ne olur?
Veritabanınız zaten doluysa ve sütun ailenizin HBase'deki blok boyutunu değiştirmek istiyorsanız, eski veriler eski blok boyutunda kalabilir. Sıkıştırma sırasında eski ve yeni veriler şu şekilde davranırdı:
- Mevcut veriler yeni blok boyutunu alacak ve doğru şekilde okunmaya devam edecektir.
- Yeni dosyalar yeni blok boyutuna sahip olacaktır.
Bu şekilde, bir sonraki büyük sıkıştırmadan önce tüm veriler istenen blok boyutuna dönüştürülür.
14. HBase'in çalıştırabileceği farklı modları tanımlayın.
HBase, bağımsız modda veya dağıtılmış modda çalışabilir. Bağımsız, HDFS yerine yerel dosya sistemini kullanan varsayılan HBase modudur. Dağıtılmış moda gelince, daha da alt bölümlere ayrılabilir:
- Sözde dağıtılmış mod: Tüm arka plan programları tek bir düğümde çalışır
- Tamamen dağıtılmış mod: Daemon'lar kümedeki tüm düğümlerde çalışır
15. HBase'de birleştirmeleri nasıl uygularsınız?
HBase, terabaytlarca veriyi ölçeklenebilir bir şekilde işlemek için MapReduce işlerini kullanır. Birleştirmeleri doğrudan desteklemez, ancak birleştirme sorguları, HBase tablolarından veri alınarak uygulanır.
Ödeme: Hadoop Mülakat Soruları
16. HBase'deki filtrelerin amacını tartışın.
Kullanıcıların Shell veya Thrift üzerinden HBase'e erişmesine yardımcı olmak için Apache HBase 0.92'de filtreler tanıtıldı. Böylece, sunucu tarafı filtreleme ihtiyaçlarınızla ilgilenirler. Döndürülen veriler üzerinde ek kontrol elde etmek için filtrelerin kullanım alanlarını genişleten dekorasyon filtreleri de vardır. HBase'deki bazı filtre örnekleri:
- Bloom Filtresi: Genellikle gerçek zamanlı sorgular için kullanılır, bir HFile'ın belirli bir satır veya hücre içerip içermediğini bilmenin alan açısından verimli bir yoludur.
- Sayfa Filtresi: Sayfa boyutunu bir parametre olarak kabul eden Sayfa Filtresi, bireysel Hregions taramasını optimize edebilir
17. HBase'i (i) Cassandra (ii) Hive ile karşılaştırın.
(i) HBase ve Cassandra: Hem Cassandra hem de HBase, büyük veri kümelerini yönetmek için tasarlanmış NoSQL veritabanlarıdır. Ancak, Cassandra Query Language (CQL ) sözdizimi SQL'den sonra modellenmiştir. Her iki veri deposunda da satır anahtarı birincil dizini oluşturur. Cassandra, sütun değerlerinde ikincil dizinler oluşturabilir. Bu nedenle, yüksek tekrar seviyelerine sahip sütunlarda veri erişimini iyileştirebilir. HBase bu hükümden yoksundur ancak ikincil dizin işlevselliğini getirmek için başka mekanizmalara sahiptir. Bu yöntemler çevrimiçi başvuru kılavuzlarında kolayca bulunabilir.
(ii) HBase ve Hive: Her ikisi de Hadoop tabanlı teknolojilerdir. Yukarıda tartışıldığı gibi, HBase bir NoSQL anahtar/değer veritabanıdır. Öte yandan Hive, karmaşık MapReduce işlerini çalıştırabilen SQL benzeri bir motordur. Hive'dan HBase'e veya tam tersi şekilde veri okuma ve yazma işlemlerini gerçekleştirebilirsiniz. Hive, analitik görevler için daha uygun olsa da, HBase gerçek zamanlı sorgulama için mükemmel bir çözümdür.
Ayrıca Okuyun: HBase Mimarisi: Bilmeniz Gereken Her Şey
Çözüm
Bu HBase mülakat soruları ve kullanım örnekleri bizi bu makalenin sonuna getiriyor. Temel, orta ve ileri seviyelere hitap etmek için farklı konuları ele almaya çalıştık. Bu nedenle, işe alım görevlisi üzerinde mükemmel bir izlenim bırakmak için gözden geçirmeye devam edin!
Veri bilimi hakkında bilgi edinmek istiyorsanız, IIIT -B & upGrad'ın çalışan profesyoneller için oluşturulmuş ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk, 1 Endüstri danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.