Apache Spark Mimarisi: 2022'de Bilmeniz Gereken Her Şey

Yayınlanan: 2021-01-08

Apache Spark nedir?

Apache Spark, gerçek zamanlı açık kaynaklı veri işlemeye yönelik bir grup bilgi işlem çerçevesidir. Hızlı hesaplama bir saatin ihtiyacıdır ve Apache Spark, bunu başarmak için planlanan ve öngörülen en verimli ve hızlı çerçevelerden biridir.

Apache Spark'ın temel özelliği, yerleşik küme hesaplamanın yardımıyla bir uygulamanın işlem hızını artırmaktır. Bunun dışında, örtük veri paralelliği ve hata toleransı gibi çeşitli yönleriyle komple kümeleri programlamak için bir arayüz de sunar. Bu, paralel yürütme için aksi takdirde gerekli olan herhangi bir özel yönergeye, operatöre veya işleve ihtiyacınız olmadığından büyük bağımsızlık sağlar.

İçindekiler

Öğrenilecek Önemli İfadeler

Spark Uygulaması – Bu, bir sonuca ulaşmak için kullanıcılar tarafından girilen kodları çalıştırır. Kendi hesaplarına göre çalışır.

Apache SparkContext – Bu, mimarinin temel parçasıdır. Hizmet oluşturmak ve işleri yürütmek için kullanılır.

Görev – Her adımın adım adım ilerleyen kendine özgü bir görevi vardır.

Apache Spark Shell – Basit bir deyişle, temelde bir uygulamadır. Apache Spark Shell, her boyuttaki veri kümelerinin oldukça kolay bir şekilde nasıl işlendiğine dair hayati tetikleyicilerden biridir.

Aşama - Bölündüklerinde çeşitli işlere aşama denir.

İş – Paralel olarak yürütülen bir dizi hesaplamadır.

Apache Spark'ın özü

Apache Stark temel olarak iki kavram üzerine kuruludur. Esnek Dağıtılmış Veri Kümeleri (RDD) ve Yönlendirilmiş Döngüsel Grafik (DAG). RDD'ye ışık tutarak, bunun çalışan düğümlerde kırılan ve kaydedilen bir veri öğeleri stoğu olduğu ortaya çıkıyor. Hadoop veri kümeleri ve paralelleştirilmiş koleksiyonlar, desteklenen iki RDD'dir.

İlki HDFS içindir, ikincisi Scala toplantıları içindir. DAG'a atlama - veriler üzerinde yürütülen bir matematiksel hesaplama döngüsüdür. Bu, işlemlerin çoklu yürütülmesinden kurtularak süreci kolaylaştırır. Apache Spark'ın Hadoop'a tercih edilmesinin tek nedeni budur. Apache Spark ve Hadoop Mapreduce hakkında daha fazla bilgi edinin.

Spark Mimarisine Genel Bakış

Daha derine inmeden önce, mimariyi gözden geçirelim. Apache Spark, katmanların ve bileşenlerin gevşek bir şekilde, işi tamamen kolaylıkla yapan çok sayıda kitaplık ve uzantıyla birleştirildiği harika bir mimariye sahiptir. Esas olarak, yani iki ana kavram üzerine kuruludur. RDD ve DAG. Herhangi birinin mimariyi anlayabilmesi için Spark Ekosistemi ve temel yapısı RDD gibi çeşitli bileşenler hakkında sağlam bir bilgiye sahip olmanız gerekir.

Spark'ın Avantajları

Bu, birkaç amaç için tamamen birleştirilmiş platformlardan biridir - düzenlenmemiş verilerin yedek depolanmasını ve verilerin entegre bir şekilde işlenmesini sağlamak. Daha da ileri giderek, Spark Code'un kullanımı oldukça kolaydır. Ayrıca yazmak çok daha kolay. Ayrıca, depolama, paralel programlama ve çok daha fazlasının tüm karmaşıklıklarını filtrelemek için yaygın olarak kullanılır.

Dağıtılmış bir işleme motoru olarak oldukça ünlü olmasına rağmen, şüphesiz, herhangi bir dağıtılmış depolama ve küme yönetimi olmadan gelir. Bildiğimiz gibi, hem Hesaplama motoru hem de Çekirdek API'ler onun iki parçasıdır, ancak sunabileceği daha çok şey vardır: GraphX, akış, MLlib ve Spark SQL. Bu yönlerin değeri kimse tarafından bilinmiyor. İşleme algoritmaları, verilerin durmaksızın işlenmesi vb. yalnızca Spark Core API'lerine dayanır.

Apache Spark'ın Çalışması

Çok sayıda kuruluşun devasa verilerle çalışması gerekiyor. Çeşitli işçilerle çalışan temel bileşen sürücü olarak bilinir. Yürütücü olarak kabul edilen birçok işçiyle çalışır. Herhangi bir Spark Uygulaması, sürücüler ve uygulayıcıların bir karışımıdır. En iyi kıvılcım uygulamaları ve kullanımları hakkında daha fazlasını okuyun.

Spark, üç tür iş yükünü karşılayabilir

  • Toplu İş Modu – İş yazılır ve manuel müdahale ile çalıştırılır.
  • Etkileşimli Mod – Sonuçlar kontrol edildikten sonra komutlar birer birer çalıştırılır.
  • Akış Modu – Program sürekli çalışır. Sonuçlar, veriler üzerinde dönüşümler ve eylemler yapıldıktan sonra üretilir.

Spark Ekosistemi ve RDD

Konseptin özünü tam olarak anlamak için, Spark Ekosisteminin çeşitli bileşenleri olduğu akılda tutulmalıdır - Spark SQL, Spark akışı, MLib (Makine Öğrenimi Kitaplığı), Spark R ve diğerleri.

Spark SQL'i öğrenirken, bundan en iyi şekilde yararlanmak için, zaten dış kaynakların bir parçası olan Spark Verileri üzerinde çeşitli sorgular yürüterek depolama kapasitesi, zaman veya maliyette maksimum verimlilik elde etmek için değiştirmeniz gerekir. .

Bundan sonra, Spark Streaming, geliştiricilerin hem toplu işleme hem de veri akışını aynı anda gerçekleştirmesine olanak tanır. Her şey kolayca yönetilebilir.

Ayrıca, grafik bileşenleri, kolay inşaat ve dönüşümde büyük esneklik ve dayanıklılık için verileri geniş kaynaklarla çalışmaya yönlendirir.

Ardından, Apache Spark'ı kullanmaktan sorumlu olan Spark R gelir. Bu aynı zamanda, büyük veri kümelerinde birkaç işlemi destekleyen dağıtılmış veri çerçevesi uygulamasından da yararlanır. Dağıtılmış makine öğrenimi için bile, makine öğrenimi kitaplıklarını kullanarak destek sunar.

Son olarak, Spark ekosisteminin en önemli bileşenlerinden biri olan Spark Core bileşeni, programlama ve denetleme için destek sağlar. Bu çekirdek yürütme motorunun en üstünde, eksiksiz Spark ekosistemi, farklı dillerdeki çeşitli API'lere, yani. Scala, Python, vb.

Dahası, Spark Scala'yı yedekler. Söylemeye gerek yok, Scala, Spark'ın temeli olarak işlev gören bir programlama dilidir. Aksine Spark, arayüz olarak Scala ve Python'u destekler. Sadece bu değil, iyi haber şu ki, arayüz için destek teklif ediyor. Bu dilde yazılan programlar Spark üzerinden de yapılabilmektedir. Burada Scala ve Python'da yazılan kodların büyük ölçüde benzer olduğunu öğrenmektir. Apache Spark'ın Büyük Verideki rolü hakkında daha fazla bilgi edinin.

Spark ayrıca çok yaygın iki programlama dilini de destekler – R ve Java.

Çözüm

Spark ekosisteminin nasıl çalıştığını öğrendiğinize göre, çevrimiçi öğrenme programlarıyla Apache Spark hakkında daha fazla şey keşfetmenizin zamanı geldi. Apache Spark'taki e-Öğrenim programlarımız hakkında daha fazla bilgi için bizimle iletişime geçin.

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.

Veri Bilimi Kariyerinizi Bugün Planlayın

7 Vaka Çalışmaları ve Projeler. En İyi Firmalarla İş Yardımı. Özel Öğrenci Mentoru.
IIIT Bangalore'den Büyük Veride Gelişmiş Sertifika Programı