Büyük Veri’yi işlemek için kullanılan projelerin bir diğeri, Apache Spark. Birçok kaynakta Spark’ı anlatmaya Hadoop ile karşılaştırarak başlanır. Hadoop ile karşılaştırabileceğimiz kısımları olduğu doğrudur; ancak Hadoop ve Spark birebir aynı işlevi görmez. Gelin daha detaylı inceleyelim.

Spark, bir büyük veri işleme motorudur. Veri üzerinde paralel işlem yapmaya yarar, açık kaynak kodludur ve Spark diliyle yazılmıştır.

Spark ile Neler Yapılır?

Veri Entegrasyonu ve ETL (extract, transform, load):

Birçok kaynaktan gelen veriyi görselleştirme, işleme ve analiz edilebilmesi için temizleyip birleştirme işlemidir. Spark ile yapılabilir.

Makine Öğrenmesi ve İleri Seviye Analitik:

Karışık algoritmalar kullanarak çıktıların tahmin edilmesi, hata tespiti, saklı verilerin çıkarılması ve girdilere göre karar verilmesi için kullanılır.

Streaming (Gerçek zamanlı veri işleme):

Hata oranı en az olacak şekilde sürekli veri toplama ve işlemeye denir. E-ticarette verilen siparişlerin anında sisteme düşmesi veya bankadaki hesap hareketlerinin takip edilebilmesi, gerçek zamanlı veri işlemeye örnek olarak verilebilir.

Spark Ekosistemi

Spark Core

Büyük ölçekli paralel ve dağıtık verinin işlenmesi için en temel motordur. İçerdiği kütüphaneleri kullanarak çeşitli işler yapılmasına izin verir. Spark’ın en temel görevlerini yerine getirmesini sağlar. R, SQL, Python, Scala ve Java ile çalışır. Spark SQL, Streaming, MLlib ve GraphX uygulama programlama arayüzlerini (API) destekler.

Bu arayüz ile SQL veya Hive Query Language aracılığıyla veri sorgulama desteklenir. RDBMS veritabanları için Spark SQL performans arttırıcı bir çözüm sunar.*

Gerçek zamanlı veri akışlarının verimli olarak işlenmesini sağlar.

Apache Spark’ta makine öğrenmesi çalışabilmek için kullanılan kütüphanedir.

Grafikler ve etkileşimli grafik hesaplamaları için kullanılan arayüzdür.

Spark ve Hadoop

Apache Spark ve Hadoop, benzer ama asla birebir aynı olmayan sistemlerdir. Farklı alanlarda karşılaştırılabilir ancak biri diğerinin ikamesi değildir. Yapacağınız projeyi göz önünde bulundurarak özellikleri değerlendirip bir karar vermeniz gerekir. Spark; yüksek performans hızı, sürekli işlemlerde kolaylık, grafik işleme, gerçek zamanlı analiz ve makine öğrenmesi özelliklerini barındırır. Ama eğer projenizde bütünlük sağlayacak bir dosya sistemine ihtiyacınız varsa, gerçek zamanlı bir uygulama geliştirmiyorsanız ve veri setleriniz büyük boyutluysa, Hadoop sizin için daha doğru bir seçim olacaktır.  Eğer gerçek zamanlı veri işleme ve işlenen verileri saklama özelliklerini bir arada arıyorsanız HDFS için her iki sistemi de kullanmanız yararlı olur. Gördüğünüz gibi , karşılaştırılabilecek özellikleri olsa da Spark ve Hadoop’u aynı kefeye koymak mümkün değildir. Projenizin gereksinimlerini bilerek iki teknolojiden birini seçmelisiniz.

Apache Spark hakkında detaylı bilgi verdik. Faydalı olacağını umuyoruz. Sorularınız için bize ulaşın. Veri bilimi hakkında diğer bilgiler için Blog sayfamıza göz atın. Bir sonraki yazımızda görüşmek üzere!