30+ Hadoop Mülakat Soruları ve Cevapları

Yayınlanan: 2022-12-01

Forbes istatistikleri, dünya kuruluşlarının %90'a varan oranda yatırım raporlarını oluşturmak için Büyük Veri analitiğini kullandığını belirtiyor.

Büyük Verinin artan popülaritesi ile sonuç olarak, Hadoop iş fırsatlarında eskisinden daha fazla bir artış var.

Bu nedenle, Hadoop uzmanı rolünü almanıza yardımcı olması için, bu makalede sizin için bir araya getirdiğimiz bu görüşme sorularını ve yanıtlarını, görüşmenizi tamamlamanıza yardımcı olması için kullanabilirsiniz.

Belki de Hadoop ve Büyük Veri rollerini kazançlı kılan maaş aralığı gibi gerçekleri bilmek sizi o mülakatı geçmek için motive edecektir, değil mi?

  • Indeed.com'a göre, ABD merkezli bir Big Data Hadoop geliştiricisi ortalama 144.000 $ maaş alıyor.
  • itjobswatch.co.uk'ye göre, bir Büyük Veri Hadoop geliştiricisinin ortalama maaşı 66.750 Sterlin'dir.
  • Hindistan'da, Indeed.com kaynağı, ortalama ₹ 16.00.000 maaş alacaklarını belirtiyor.

Kazançlı, sence de öyle değil mi? Şimdi Hadoop hakkında bilgi edinmek için devreye girelim.

Hadoop nedir?

Hadoop, büyük veri kümelerini işlemek, depolamak ve analiz etmek için programlama modellerini kullanan Java ile yazılmış popüler bir çerçevedir.

Varsayılan olarak tasarımı, tek sunuculardan yerel hesaplama ve depolama sunan birden çok makineye ölçeklendirmeye izin verir. Ek olarak, yüksek düzeyde kullanılabilir hizmetlerle sonuçlanan uygulama katmanı hatalarını algılama ve yönetme yeteneği, Hadoop'u oldukça güvenilir kılar.

Hemen sık sorulan Hadoop mülakat sorularına ve doğru cevaplarına geçelim.

Hadoop'un Röportaj Soruları ve Cevapları

Hadoop

Hadoop'taki Depolama Birimi nedir?

Yanıt : Hadoop'un depolama birimi, Hadoop Dağıtılmış Dosya Sistemi (HDFS) olarak adlandırılır.

Ağa Bağlı Depolamanın Hadoop Dağıtılmış Dosya Sisteminden Farkı Nedir?

Yanıt : Hadoop'un birincil depolaması olan HDFS, ticari donanım kullanarak devasa dosyaları depolayan dağıtılmış bir dosya sistemidir. Öte yandan NAS, heterojen müşteri gruplarına verilere erişim sağlayan dosya düzeyinde bir bilgisayar veri depolama sunucusudur.

NAS'ta veri depolama özel donanım üzerindeyken, HDFS veri bloklarını Hadoop kümesindeki tüm makinelere dağıtır.

NAS, oldukça maliyetli olan üst düzey depolama cihazları kullanırken, HDFS'de kullanılan emtia donanımı uygun maliyetlidir.

NAS, verileri hesaplamalardan ayrı olarak depolar ve bu nedenle onu MapReduce için uygun hale getirmez. Aksine, HDFS'nin tasarımı, MapReduce çerçevesiyle çalışmasına izin verir. Hesaplamalar, verilerin hesaplamalara gitmesi yerine MapReduce çerçevesindeki verilere taşınır.

Hadoop ve Shuffling'de MapReduce'u açıklama

Yanıt : MapReduce, Hadoop programlarının bir Hadoop kümesi içindeki yüzlerce ila binlerce sunucu arasında büyük ölçeklenebilirlik sağlamak için gerçekleştirdiği iki farklı görevi ifade eder. Öte yandan karıştırma, harita çıktısını Mappers'tan MapReduce'ta gerekli Redüktöre aktarır.

Apache Domuz Mimarisine Bir Bakış

Apache-Domuz-Mimarisi
Apache Domuz Mimarisi

Yanıt : Apache Pig mimarisi, Pig Latin betiklerini kullanarak büyük veri kümelerini işleyen ve analiz eden bir Pig Latin yorumlayıcısına sahiptir.

Apache pig ayrıca birleştirme, yükleme, filtreleme, sıralama ve gruplama gibi veri işlemlerinin gerçekleştirildiği veri kümelerinden oluşur.

Pig Latin dili, gerekli görevleri yerine getiren Pig betiklerini yazmak için Grant kabukları, UDF'ler ve gömülü gibi yürütme mekanizmalarını kullanır.

Pig, bu yazılı betikleri Map-Reduce iş serilerine dönüştürerek programcıların işini kolaylaştırır.

Apache Pig mimarisi bileşenleri şunları içerir:

  • Ayrıştırıcı – Komut dosyasının sözdizimini kontrol ederek ve tip kontrolü gerçekleştirerek Domuz Komut Dosyalarını işler. Ayrıştırıcının çıktısı, Pig Latin'in ifadelerini ve mantıksal işleçleri temsil eder ve DAG (yönlendirilmiş asiklik grafik) olarak adlandırılır.
  • Optimize Edici – Optimize edici, DAG üzerinde projeksiyon ve aşağı itme gibi mantıksal optimizasyonlar uygular.
  • Derleyici – Optimize ediciden gelen optimize edilmiş mantıksal planı bir dizi MapReduce işine derler.
  • Yürütme Motoru – Burası, MapReduce işlerinin istenen çıktıya nihai olarak yürütülmesinin gerçekleştiği yerdir.
  • Yürütme Modu – Apache domuzundaki yürütme modları, esas olarak yerel ve Harita Azaltma'yı içerir.

Yerel Meta Depo ve Uzak Meta Depo Arasındaki Farkı Listeleyin

Cevap : Yerel Metastore'daki Metastore hizmeti, Hive ile aynı JVM'de çalışır ancak aynı veya uzak makinede ayrı bir işlemde çalışan bir veritabanına bağlanır. Öte yandan, Uzak Metastore'daki Metastore, JVM'sinde Hive hizmeti JVM'sinden ayrı olarak çalışır.

Büyük Verinin Beş V'si nedir?

Cevap : Bu beş V, Büyük Veri'nin ana özelliklerini temsil eder. Onlar içerir:

  • Değer : Büyük veri, veri operasyonlarında büyük veriyi kullanan bir kuruluşa yüksek Yatırım Getirisi (ROI) ile önemli faydalar sağlamayı amaçlar. Büyük veri, bu değeri diğer faydaların yanı sıra daha güçlü müşteri ilişkileri ve daha etkili operasyonlarla sonuçlanan içgörü keşfi ve örüntü tanıma özelliğinden sağlar.
  • Çeşitlilik : Bu, toplanan veri türlerinin türünün heterojenliğini temsil eder. Çeşitli biçimler arasında CSV, videolar, ses vb.
  • Hacim : Bu, bir kuruluş tarafından yönetilen ve analiz edilen verilerin önemli miktarını ve boyutunu tanımlar. Bu veriler üstel büyümeyi gösteriyor.
  • Hız : Bu, veri büyümesi için üstel hız oranıdır.
  • Doğruluk : Doğruluk, verilerin eksik veya tutarsız olması nedeniyle mevcut verilerin ne kadar 'belirsiz' veya 'yanlış' olduğunu ifade eder.

Pig Latin'in Farklı Veri Türlerini Açıklar.

Cevap : Pig Latin'deki veri türleri, atomik veri türlerini ve karmaşık veri türlerini içerir.

Atomik veri türleri, diğer tüm dillerde kullanılan temel veri türleridir. Aşağıdakileri içerirler:

  • Int – Bu veri türü, işaretli bir 32 bit tamsayı tanımlar. Örnek: 13
  • Uzun – Uzun, 64 bitlik bir tamsayı tanımlar. Örnek: 10L
  • Float – İşaretli bir 32 bitlik kayan nokta tanımlar. Örnek: 2.5F
  • Double – İşaretli bir 64 bitlik kayan nokta tanımlar. Örnek: 23.4
  • Boolean – Bir Boole değeri tanımlar. Şunları içerir: Doğru/Yanlış
  • Datetime – Bir tarih-saat değeri tanımlar. Örnek: 1980-01-01T00:00.00.000+00:00

Karmaşık veri türleri şunları içerir:

  • Harita- Harita, bir anahtar/değer çifti kümesini ifade eder. Örnek: ['renk'#'sarı', 'sayı'#3]
  • Çanta – Bir dizi demet koleksiyonudur ve '{}' sembolünü kullanır. Örnek: {(Henry, 32), (Kiti, 47)}
  • Demet – Bir demet, sıralı bir alan kümesini tanımlar. Örnek : (Yaş, 33)

Apache Oozie ve Apache ZooKeeper nedir?

Yanıt : Apache Oozie, Hadoop işlerini tek bir mantıksal iş olarak planlamak ve birbirine bağlamaktan sorumlu bir Hadoop zamanlayıcısıdır.

Apache Zookeeper ise dağıtılmış bir ortamda çeşitli hizmetlerle koordinasyon sağlar. Senkronizasyon, gruplama, yapılandırma bakımı ve adlandırma gibi basit hizmetleri sunarak geliştiricilere zaman kazandırır. Apache Zookeeper ayrıca sıraya alma ve lider seçimi için kullanıma hazır destek sağlar.

Bir MapReduce İşleminde Birleştirici, Kayıt Okuyucu ve Partitioner'ın Rolü Nedir?

Cevap : Birleştirici bir mini redüktör gibi davranır. Harita görevlerinden veri alır ve üzerinde çalışır ve ardından verinin çıktısını indirgeme aşamasına geçirir.

RecordHeader, InputSplit ile iletişim kurar ve eşleyicinin uygun şekilde okuması için verileri anahtar-değer çiftlerine dönüştürür.

Bölümleyici, verileri özetlemek için gereken azaltılmış görevlerin sayısına karar vermekten ve birleştirici çıktılarının indirgeyiciye nasıl gönderildiğini doğrulamaktan sorumludur. Partitioner ayrıca ara harita çıktılarının anahtar bölümlemesini de kontrol eder.

Satıcıya Özel Hadoop Dağıtımlarından Bahsetme.

Yanıt : Hadoop yeteneklerini genişleten çeşitli sağlayıcılar şunları içerir:

  • IBM Açık platformu.
  • Cloudera CDH Hadoop Dağıtımı
  • MapR Hadoop Dağılımı
  • Amazon Elastic MapReduce
  • Hortonworks Veri Platformu(HDP)
  • Önemli Büyük Veri Paketi
  • Datastax Kurumsal Analitik
  • Microsoft Azure'un HDInsight – Bulut Tabanlı Hadoop Dağıtımı.

HDFS Neden Hata Toleranslıdır?

Yanıt : HDFS, verileri farklı DataNode'larda çoğaltarak hataya dayanıklı hale getirir. Verilerin farklı düğümlerde saklanması, bir mod çöktüğünde diğer düğümlerden alınmasına izin verir.

Federasyon ve Yüksek Kullanılabilirlik Arasındaki Farkı Ayırın.

Yanıt : HDFS Federasyonu, başka bir düğüm çöktüğünde bir düğümde sürekli veri akışına izin veren hata toleransı sunar. Öte yandan, Yüksek Kullanılabilirlik, birinci ve ikinci makinelerde etkin NameNode ve ikincil NameNode'u ayrı ayrı yapılandıran iki ayrı makine gerektirecektir.

Federasyon sınırsız sayıda ilgisiz NameNode'a sahip olabilirken, Yüksek kullanılabilirlikte, sürekli çalışan aktif ve beklemede olmak üzere yalnızca iki ilgili NameNode kullanılabilir.

Federasyondaki NameNode'lar, her NameNode'un kendi ayrılmış havuzuna sahip olduğu bir meta veri havuzunu paylaşır. Ancak Yüksek Kullanılabilirlikte, etkin NameNode'lar teker teker çalışır, beklemedeki NameNode'lar ise boşta kalır ve meta verilerini yalnızca ara sıra günceller.

Blokların Durumu ve DosyaSistem Sağlığı Nasıl Bulunur?

Cevap : HDFS dosya sisteminin sağlık durumunu kontrol etmek için hem kök kullanıcı düzeyinde hem de tek bir dizinde hdfs fsck / komutunu kullanırsınız.

HDFS fsck komutu kullanımda:

 hdfs fsck / -files --blocks –locations> dfs-fsck.log

Komutun açıklaması:

  • -files: Kontrol ettiğiniz dosyaları yazdırın.
  • –konumlar: Kontrol ederken tüm blokların konumlarını yazdırır.

Blokların durumunu kontrol etme komutu:

 hdfs fsck <path> -files -blocks
  • <yol>: Burada geçirilen yoldan kontrollere başlar.
  • – bloklar: Kontrol sırasında dosya bloklarını yazdırır

rmadmin-refreshNodes ve dfsadmin-refreshNodes Komutlarını Ne Zaman Kullanırsınız?

Yanıt : Bu iki komut, devreye alma sırasında veya düğüm devreye alma tamamlandığında düğüm bilgilerinin yenilenmesine yardımcı olur.

dfsadmin-refreshNodes komutu, HDFS istemcisini çalıştırır ve NameNode'un düğüm yapılandırmasını yeniler. rmadmin-refreshNodes komutu ise ResourceManager'ın idari görevlerini yürütür.

Kontrol noktası nedir?

Yanıt : Denetim noktası, dosya sisteminin son değişikliklerini en son FSImage ile birleştiren bir işlemdir, böylece düzenleme günlüğü dosyaları, bir NameNode başlatma sürecini hızlandıracak kadar küçük kalır. Denetim noktası, İkincil Ad Düğümünde oluşur.

Büyük Veri Setlerine Sahip Uygulamalarda Neden HDFS Kullanıyoruz?

Yanıt : HDFS, dağıtılmış bir dosya sistemi uygulayan bir DataNode ve NameNode mimarisi sağlar.

Bu iki mimari, yüksek düzeyde ölçeklenebilir Hadoop kümeleri üzerinden verilere yüksek performanslı erişim sağlar. NameNode, dosya sisteminin meta verilerini RAM'de depolar, bu da HDFS dosya sistemi dosyalarının sayısını sınırlayan bellek miktarıyla sonuçlanır.

'jps' Komutu Ne İşe Yarar?

Yanıt : Java Sanal Makine İşlem Durumu (JPS) komutu, NodeManager, DataNode, NameNode ve ResourceManager dahil olmak üzere belirli Hadoop arka plan programlarının çalışıp çalışmadığını kontrol eder. Bu komut, Ana Bilgisayardaki çalışan düğümleri kontrol etmek için kökten çalıştırmak için gereklidir.

Hadoop'ta 'Spekülatif Yürütme' nedir?

Cevap : Bu, Hadoop'taki ana düğümün algılanan yavaş görevleri düzeltmek yerine, aynı görevin farklı bir örneğini başka bir düğümde yedekleme görevi (spekülatif görev) olarak başlattığı bir süreçtir. Spekülatif yürütme, özellikle yoğun bir iş yükü ortamında çok zaman kazandırır.

Hadoop'un Çalışabileceği Üç Modu Adlandırın.

Yanıt : Hadoop'un üzerinde çalıştığı üç ana düğüm şunları içerir:

  • Bağımsız Düğüm, Hadoop hizmetlerini yerel FileSystem ve tek bir Java işlemi kullanarak çalıştıran varsayılan moddur.
  • Sözde dağıtılmış Düğüm, tüm Hadoop hizmetlerini tek bir ode Hadoop konuşlandırması kullanarak yürütür.
  • Tamamen dağıtılmış Düğüm, ayrı düğümler kullanarak Hadoop ana ve bağımlı hizmetlerini çalıştırır.

UDF nedir?

Yanıt : UDF(Kullanıcı Tanımlı İşlevler), bir Impala sorgusu sırasında sütun değerlerini işlemek için kullanabileceğiniz özel işlevlerinizi kodlamanıza izin verir.

DistCp nedir?

Cevap : DistCp veya Distributed Copy, kısacası, verilerin büyük kümeler arası veya küme içi kopyalanması için yararlı bir araçtır. DistCp, MapReduce'u kullanarak hata işleme, kurtarma ve raporlama gibi diğer görevlerin yanı sıra büyük miktarda verinin dağıtılmış kopyasını etkin bir şekilde uygular.

Hive'da bir Metastore'u açıklayın.

Cevap : Hive metastore, Hive tabloları için Apache Hive meta verilerini MySQL gibi ilişkisel bir veritabanında depolayan bir hizmettir. Meta verilere yüzde erişime izin veren metastore hizmet API'sini sağlar.

RDD'yi tanımlayın.

Yanıt : Dayanıklı Dağıtılmış Veri Kümeleri anlamına gelen RDD, Spark'ın veri yapısıdır ve farklı küme düğümlerinde hesaplanan veri öğelerinizin sabit bir dağıtılmış koleksiyonudur.

Yerel Kitaplıklar YARN İşlerine Nasıl Dahil Edilebilir?

Cevap : Bunu -Djava.library. path -Djava.library. path seçeneğini komutta veya aşağıdaki biçimi kullanarak .bashrc dosyasında LD+LIBRARY_PATH ayarını yaparak:

 <property> <name>mapreduce.map.env</name> <value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/my/libs</value> </property>

HBase'de 'WAL'i açıklayın.

Cevap : İleri Yazma Günlüğü (WAL), HBase'deki MemStore veri değişikliklerini dosya tabanlı depolamaya kaydeden bir kurtarma protokolüdür. WAL, RegionalServer çökerse veya MemStore'u temizlemeden önce bu verileri kurtarır.

YARN, Hadoop MapReduce'un yerine geçer mi?

Cevap : Hayır, YARN bir Hadoop MapReduce yedeği değildir. Bunun yerine Hadoop 2.0 veya MapReduce 2 adlı güçlü bir teknoloji MapReduce'u destekler.

HIVE'da ORDER BY ve SORT BY Arasındaki Fark Nedir?

Cevap : Hive'da her iki komut da verileri sıralı bir şekilde getirirken, SORT BY kullanımından elde edilen sonuçlar yalnızca kısmen sıralanabilir.

Ek olarak, SORT BY , sıraları sıralamak için bir küçültücü gerektirir. Nihai çıktı için gerekli olan bu indirgeyiciler de çoklu olabilir. Bu durumda, nihai çıktı kısmen sipariş edilebilir.

Öte yandan, ORDER BY , çıktıda toplam sipariş için yalnızca bir redüktör gerektirir. Toplam sıralama süresini azaltan LIMIT anahtar sözcüğünü de kullanabilirsiniz.

Spark ve Hadoop Arasındaki Fark Nedir?

Yanıt : Hem Hadoop hem de Spark dağıtılmış işleme çerçeveleri olsa da temel farkları işlemeleridir. Hadoop toplu işleme için verimliyken, Spark gerçek zamanlı veri işleme için verimlidir.

Ek olarak, Hadoop esas olarak dosyaları okuyup HDFS'ye yazarken Spark, RAM'deki verileri işlemek için Esnek Dağıtılmış Veri Kümesi konseptini kullanır.

Gecikme sürelerine bağlı olarak Hadoop, verileri işlemek için etkileşimli bir modu olmayan yüksek gecikme süreli bir bilgi işlem çerçevesiyken Spark, verileri etkileşimli olarak işleyen düşük gecikme süreli bir bilgi işlem çerçevesidir.

Sqoop ve Flume'u karşılaştırın.

Cevap : Sqoop ve Flume, çeşitli kaynaklardan toplanan verileri toplayan ve verileri HDFS'ye yükleyen Hadoop araçlarıdır.

  • Sqoop(SQL-to-Hadoop), Teradata, MySQL, Oracle vb. dahil olmak üzere veritabanlarından yapılandırılmış verileri çıkarırken Flume, veritabanı kaynaklarından yapılandırılmamış verileri ayıklamak ve bunları HDFS'ye yüklemek için kullanışlıdır.
  • Yönlendirilen olaylar açısından, Flume olay tarafından yönlendirilirken, Sqoop olaylar tarafından yönlendirilmez.
  • Sqoop, bağlayıcıların farklı bir veri kaynağına nasıl bağlanacağını bildiği bağlayıcı tabanlı bir mimari kullanır. Flume, aracı tabanlı bir mimari kullanır ve yazılan kod verileri getirmekten sorumlu aracıdır.
  • Flume'un dağıtılmış yapısı nedeniyle verileri kolayca toplayabilir ve toplayabilir. Sqoop, çıktının birden çok dosyada olmasına neden olan paralel veri aktarımı için kullanışlıdır.

BloomMapFile'ı açıklayın.

Yanıt : BloomMapFile, MapFile sınıfını genişleten bir sınıftır ve anahtarlar için hızlı üyelik testi sağlayan dinamik çiçek filtreleri kullanır.

HiveQL ve PigLatin Arasındaki Farkı Listeleyin.

Cevap : HiveQL, SQL'e benzer bir bildirim dili iken, PigLatin, üst düzey bir prosedürel Veri akış dilidir.

Veri Temizleme Nedir?

Cevap : Veri temizleme, bir veri kümesindeki yanlış, eksik, bozuk, yinelenen ve yanlış biçimlendirilmiş verileri içeren tanımlanmış veri hatalarından kurtulma veya düzeltme işlemidir.

Bu süreç, veri kalitesini iyileştirmeyi ve bir kuruluş içinde verimli karar verme için gerekli olan daha doğru, tutarlı ve güvenilir bilgileri sağlamayı amaçlar.

Çözüm

Mevcut Büyük veriler ve Hadoop iş fırsatlarının artmasıyla, girme şansınızı artırmak isteyebilirsiniz. Bu makalenin Hadoop mülakat soruları ve cevapları, yaklaşan mülakatta başarılı olmanıza yardımcı olacaktır.

Ardından, Büyük Veri ve Hadoop'u öğrenmek için iyi kaynaklara göz atabilirsiniz.

İyi şanslar!