Spark Dataframe ve Pandas Dataframe Arasındaki Farklar

Spark Dataframe ve Pandas Dataframe Arasındaki Farklar

Bu yazımızda  Spark Dataframe ile Pandas Dataframe’den bahsedeceğiz. Arasındaki farklara ve komutlara nasıl yansıdıklarına değineceğiz.
Burak Aslan19 Eyl 2022

Pandas Numpy kütüphanesine dayalı açık kaynak bir python kütüphanesidir. Çeşitli veri setleri içeren sayısal verileri ve zaman serilerini içeren bir kütüphanedir. Veri analizlerinde ve veri manipülasyonlarında kullanılabilir. 

 

Pandas Dataframe Avantajları

  • Pandas dataframe, indeksleme, yeniden adlandırma ve veri birleştirme gibi işlemler yapabilir.
  • NaN(kayıp veri) değerlerin kolaylıkla işlenebilir.
  • Veri kümelerinin kolayca şekillendirilebilir.
  • Sütunların güncellemesinde ve ulaşılmasında kolaylık sağlar.
  • Pandas çoklu dosya formatlarını destekler.

 

Pandas Dataframe Dezavantajları

  • Büyük bir veri kümesi kullanırken veri manipülasyonu karmaşık hale gelebilir.
  • İşlem süresi manipülasyon sırasında yavaşlayabilir.

Apache Spark hızlı bir bütünleşik bir arama motorudur. Bütünleşik arama motoru büyük veri uygulamaları için her türlü ihtiyacı karşılayabilecek şekilde dizayn edilmiş olmasıdır. Apache Spark bilgisayar kümelerinde veriyi paralel bir şekilde işlemek için bir dizi kütüphaneden oluşur. Spark veriyi depolamaz, veriyi olduğu yerde analiz eder, gerektiği kadarını Spark cluster belleğine çeker.

 

Spark Dataframe Avantajları

  • Spark büyük veri kümelerinde işlem yapmayı kolaylaştıran API’lere sahiptir.
  • Spark hesaplamalarda RAM kullanır.
  • Makine öğrenmesi, akan veri analizleri, yapısal verilerde sorgu yapabilmesi
  • Farklı programlama dillerini desteklemesi
  • Açık kaynak kodludur.

 

Spark Dataframe Dezavantajları

  • Otomatik optimizasyon işlemi yapılamaz. 
  • Küçük dosyalar sorunu; spark nesne depolama sistemlerine veri yüklerken bazı sorunlara yol açabilir. Veri yüklerken çok sayıda küçük dosya oluşabilir. Bunun temel nedeni, Spark'ın paralel bir işleme sistemi olmasıdır.
  • Az algoritma sayısı

 

Şimdi birkaç uygulama ile bazı farklı kod uygulamalarını görelim.

 

Spark veri okuma:

df = spark.read \
    .option(“header”, True) \ #başlık bilgisi
    .option(“sep”, “,”) \   #Veri içerisindeki sütunlar ne ile ayrılmış
    .option(“inferschema”, True) \  #Şema önerisi için
    .csv(“hdfs://localhost:9000/dosya_konumu)

 

Pandas veri okuma:

df  = pd.read_csv(‘dosyanın_konumu’)
(CSV: read_csv, JSON: read_json, HTML: read_html, MS Excel: read_excel)

 

  • Veri setinin ilk beş kaydına bir bakalım.

Spark:

df.show()

 

Pandas:

df.head()

 

  • Veri setindeki satır sayısı;

Spark:

df.count()

 

Pandas:

print(df.shape[0])

 

  • Bir değişkeni incelemek;

Spark:

df.select(df.degisken_ismi).show(5)

 

Pandas:

df[‘degisken_ismi’].head()

 

  • Veri sertimizdeki satır ve sütun sayısı;

Spark:

print((sparkdf.count(), len(sparkdf.columns)))

 

Pandas:

print(df.shape)

 

  • Verimiz hakkında bilgi almak istersek;

Spark:

df.printSchema()

 

Pandas:

df.info()

 

  • Verimizin betimsel istatistiklerine bakmak istersek;

Spark:

df.describe([‘degisken_ismi’]).show

 

Pandas:

df.describe()

 

  • Verimizdeki null değer var mı bir de buna bakalım;

Spark:

df.filter(df(‘degisken_ismi’).isNull).show()

 

Pandas:

df.isnull()

 

Kaynaklar

Miuul topluluğunun bir parçası ol!

Abone ol butonuna tıklayarak Miuul'dan pazarlama ve haber içerikleri almayı onaylıyorum.