15+ Apache Spark Mülakat Soruları ve Cevapları 2022

Yayınlanan: 2021-01-08

Apache Spark'a aşina olan herkes, bunun neden bugün en çok tercih edilen Büyük Veri araçlarından biri haline geldiğini bilir - süper hızlı hesaplamaya olanak tanır.

Spark'ın hızlı Büyük Veri işlemeyi desteklemesi, onu dünya çapındaki şirketler arasında bir hit haline getiriyor. Amazon, Alibaba, eBay ve Yahoo gibi büyük isimlerden sektördeki küçük firmalara kadar Spark, muazzam bir hayran kitlesi kazandı. Bu sayede şirketler sürekli olarak Spark'ta alan uzmanlığına sahip yetenekli Büyük Veri uzmanları arıyor.

Bir Büyük Veri (Spark) profiliyle ilgili işlere imza atmak isteyen herkes için, önce Spark röportajını başarılı bir şekilde kırmalısınız. İşte sizi hedefinize bir adım daha yaklaştırabilecek bir şey: Apache Spark'ın en sık sorulan 15 mülakat sorusu!

  1. Kıvılcım nedir?

Spark, gerçek zamanlı işlemeye izin veren açık kaynaklı, küme bilgi işlem Büyük Veri çerçevesidir. Toplu, etkileşimli, yinelemeli ve akış gibi farklı iş yüklerini işleyebilen genel amaçlı bir veri işleme motorudur. Spark, veri işleme hızını artırmaya yardımcı olan bellek içi hesaplamaları yürütür. Bağımsız olarak, Hadoop'ta veya bulutta çalışabilir.

  1. RDD nedir?

RDD veya Esnek Dağıtılmış Veri Kümesi, Spark'ın birincil veri yapısıdır. Spark'ta veri girişini bir nesne biçiminde temsil eden önemli bir soyutlamadır. RDD, bağımsız veri işlemeyi sağlamak için her düğümün bir kümenin farklı düğümlerinde hesaplanabilen daha küçük parçalara bölündüğü salt okunur, değişmez bir nesneler topluluğudur.

  1. Apache Spark ve Hadoop MapReduce arasında ayrım yapın.

Apache Spark ve Hadoop MapReduce arasındaki temel farklar şunlardır:

  • Spark'ın programlanması daha kolaydır ve herhangi bir soyutlama gerektirmez. MapReduce, Java ile yazılmıştır ve programlanması zordur. Soyutlamalara ihtiyacı var.
  • Spark'ın etkileşimli bir modu vardır, oysa MapReduce'da yoktur. Ancak Pig ve Hive gibi araçlar MapReduce ile çalışmayı kolaylaştırır.
  • Spark, aynı küme içinde toplu işleme, akış ve makine öğrenimine olanak tanır. MapReduce, toplu işleme için en uygun olanıdır.
  • Spark, Spark Streaming aracılığıyla verileri gerçek zamanlı olarak değiştirebilir. MapReduce'da böyle bir gerçek zamanlı provizyon yoktur – yalnızca bir yığın depolanmış veriyi işleyebilirsiniz.
  • Spark, kısmi sonuçları bellekte önbelleğe alarak düşük gecikmeli hesaplamaları kolaylaştırır. Bu, daha fazla bellek alanı gerektirir. Aksine, MapReduce kalıcı depolamaya izin veren disk odaklıdır.
  • Spark, işleme görevlerini bellekte yürütebildiğinden, verileri MapReduce'dan çok daha hızlı işleyebilir.
  1. Seyrek Vektör nedir?

Seyrek bir vektör, biri indeksler ve diğeri değerler için olmak üzere iki paralel diziden oluşur. Bellek alanından tasarruf etmek için sıfır olmayan girişleri depolamak için kullanılırlar.

  1. Spark'ta Bölümleme nedir?

Bölümleme, veri işlemeyi hızlandırmaya yardımcı olmak için daha küçük ve mantıksal veri birimleri oluşturmak için kullanılır. Spark'ta her şey bölümlenmiş bir RDD'dir. Bölümler, sistemdeki çeşitli yürütücülere veri göndermek için minimum ağ trafiğiyle dağıtılmış veri işlemeyi paralel hale getirir.

  1. Dönüşüm ve Eylemi tanımlayın.

Hem Dönüşüm hem de Eylem, bir RDD içinde yürütülen işlemlerdir.

Bir RDD'ye Dönüşüm işlevi uygulandığında, başka bir RDD oluşturur. İki dönüşüm örneği, map() ve filer()'dir – map() kendisine aktarılan işlevi RDD'nin her bir öğesinde uygular ve başka bir RDD oluştururken, filter() mevcut RDD'den verileri aktaran bileşenleri seçerek yeni bir RDD oluşturur. işlev argümanı. Yalnızca bir Eylem gerçekleştiğinde tetiklenir.

Bir Eylem, verileri RDD'den yerel makineye alır. Verileri orijinal RDD'ye yüklemek, tüm ara dönüşümleri gerçekleştirmek ve nihai sonuçları Sürücü programına döndürmek veya dosya sistemine yazmak için bir köken grafiği kullanarak yürütmeyi tetikler.

  1. Lineage Grafiği nedir?

Spark'ta, RDD'ler birbirine bağlıdır. Bu bağımlılıkların RDD'ler arasındaki grafiksel temsiline soy grafiği denir. Köken grafiğinden alınan bilgilerle, her RDD talep üzerine hesaplanabilir - kalıcı bir RDD'nin bir parçası kaybolursa, kayıp veriler köken grafiği bilgisi kullanılarak kurtarılabilir.

  1. SparkCore'un amacı nedir?

SparkCore, Spark'ın temel motorudur. Hata toleransı, bellek yönetimi, iş izleme, iş planlama ve depolama sistemleriyle etkileşim gibi bir dizi hayati işlevi yerine getirir.

  1. Spark Ekosisteminin başlıca kitaplıklarını adlandırın.

Spark Ekosistemindeki başlıca kütüphaneler şunlardır:

  • Spark Akışı – Gerçek zamanlı veri akışını etkinleştirmek için kullanılır.
  • Spark MLib- Sınıflandırma, regresyon, kümeleme vb. öğrenme algoritmalarında yaygın olarak kullanılan Spark'ın Machine Learning kütüphanesidir.
  • Spark SQL – Standart görselleştirme veya iş zekası araçları uygulayarak Spark verilerinde SQL benzeri sorguların yürütülmesine yardımcı olur.
  • Spark GraphX ​​– Etkileşimli grafikler geliştirmek ve dönüştürmek için grafik işlemeye yönelik bir Spark API'sidir.
  1. İPLİK nedir? Spark'ı bir YARN kümesinin tüm düğümlerine yüklemek gerekli mi?

Yarn, Spark'ta merkezi bir kaynak yönetimi platformudur. Spark kümesi genelinde ölçeklenebilir işlemlerin teslim edilmesini sağlar. Spark, veri işleme aracı iken YARN, dağıtılmış kapsayıcı yöneticisidir. Hadoop MapReduce'un YARN üzerinde çalışabilmesi gibi, Spark da YARN üzerinde çalışabilir.

Spark, bir YARN kümesinin tüm düğümlerine kurulmasına gerek yoktur, çünkü Spark, YARN'ın üzerinde yürütülebilir – kurulumundan bağımsız olarak çalışır. Ayrıca ana, kuyruk, dağıtım modu, sürücü belleği, yürütücü bellek ve yürütücü çekirdekler gibi YARN üzerinde çalıştırılacak farklı yapılandırmalar içerir.

  1. Katalizör Çerçevesi nedir?

Catalyst çerçevesi, Spark SQL'de benzersiz bir optimizasyon çerçevesidir. Bir katalizör çerçevesinin temel amacı, Spark'ın daha hızlı bir işleme sistemi geliştirmek için yeni optimizasyonlar ekleyerek SQL sorgularını otomatik olarak dönüştürmesini sağlamaktır.

  1. Spark'taki farklı küme yöneticisi türleri nelerdir?

Spark çerçevesi, üç tür küme yöneticisinden oluşur:

  1. Bağımsız – Bir kümeyi yapılandırmak için kullanılan birincil yönetici.
  2. Apache Mesos – Hadoop MapReduce ve diğer uygulamaları da çalıştırabilen Spark'ın yerleşik, genelleştirilmiş küme yöneticisi.
  3. Yarn – Hadoop'ta kaynak yönetimini işlemek için küme yöneticisi.
  1. Çalışan Düğümü nedir?

Çalışan Düğüm, Ana Düğümün "bağımlı düğümüdür". Uygulama kodunu bir kümede çalıştırabilen herhangi bir düğümü ifade eder. Böylece, ana düğüm, işi atanan görevleri gerçekleştiren işçi düğümlerine atar. Çalışan düğümler, içinde depolanan verileri işler ve ardından ana düğüme raporlar.

  1. Kıvılcım Yürütücüsü nedir?

Spark Yürütücüsü, hesaplamaları çalıştıran ve verileri çalışan düğümde depolayan bir işlemdir. SparkContext bir küme yöneticisi ile her bağlandığında, bir küme içindeki düğümlerde bir Yürütücü edinir. Bu yürütücüler, SparkContext tarafından kendilerine atanan son görevleri yürütür.

  1. Parke dosyası nedir?

Parke dosyası, Spark SQL'in hem okuma hem de yazma işlemleri yapmasına izin veren sütun biçiminde bir dosyadır. Parke dosyasını (sütunlu format) kullanmanın birçok avantajı vardır:

  1. Sütun depolama biçimi daha az yer kaplar.
  2. Sütun depolama biçimi, IO işlemlerini kontrol altında tutar.
  3. Belirli sütunlara kolaylıkla erişmenizi sağlar.
  4. Türe özgü kodlamayı takip eder ve daha iyi özetlenmiş veriler sunar.

Orada - sizi Spark'a kolaylaştırdık. Spark'taki bu 15 temel kavram, Spark'ı kullanmaya başlamanıza yardımcı olacaktır.

Büyük Veri hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 7+ vaka çalışması ve proje sağlayan, 14 programlama dili ve aracını kapsayan, pratik uygulamalı Büyük Veride Yazılım Geliştirme Uzmanlığı programında PG Diplomamıza göz atın çalıştaylar, en iyi firmalarla 400 saatten fazla titiz öğrenim ve işe yerleştirme yardımı.

upGrad'daki diğer Yazılım Mühendisliği Kurslarımıza göz atın.

Kendinizi Geliştirin ve Geleceğe Hazırlanın

400+ Saat Öğrenme. 14 Diller ve Araçlar. IIIT-B Mezun Durumu.
IIIT Bangalore'den Büyük Veride Gelişmiş Sertifika Programı