DataFrame API'lerini kullanarak veri analizi

Tamamlandı

Veri analizi için DataFrame API'lerini kullanmak, çeşitli uygulamalarda yapılandırılmış verileri verimli bir şekilde keşfetmek, işlemek ve analiz etmek için gereklidir.

DataFrame API'leri Python'daki Pandas , Apache Spark ve R'nin dplyr'ı gibi çeşitli veri işleme kitaplıkları tarafından sağlanır ve her biri büyük veri kümelerini kolayca işlemek için araçlar sunar. DataFrame'lerle çalışmak kitaplıklar arasında benzer görünür, ancak her kitaplığın özelliklerinde bazı küçük çeşitlemeler vardır.

Spark DataFrame

Spark DataFrame, veritabanındaki bir tabloya çok benzer şekilde adlandırılmış sütunlar halinde düzenlenmiş dağıtılmış bir veri koleksiyonudur. Sql benzeri işlemleri veya API'leri kullanarak büyük veri kümelerini sorgulamanıza ve dönüştürmenize olanak tanırken küme genelinde otomatik olarak ölçeklendirilebilir. DataFrame'ler, yaygın veri çözümleme sorunlarını verimli bir şekilde çözmenize olanak sağlayan zengin bir işlev kümesi (sütunları seçme, filtreleme, birleştirme, toplama) sağlar.

Python'da Spark DataFrame API'lerini kullanma örneği aşağıda verilmişti. Kod, adları ve yaşları içeren bir Spark DataFrame oluşturur, ardından sütun seçmeyi, satırları yaşa göre filtrelemeyi ve oluşumları saymak için yaşa göre gruplandırma işlemini gösterir.

# Create a sample DataFrame
data = [("Alice", 34), ("Bob", 45), ("Cathy", 29)]
columns = ["Name", "Age"]
df = spark.createDataFrame(data, columns)

# Select columns
df.select("Name").show()

# Filter rows
df.filter(df["Age"] > 30).show()

# Group by and aggregate
df.groupBy("Age").count().show()

Spark DataFrame, çok büyük veri kümelerini birden çok makineye bölerek ve işleyerek işlemek için tasarlanmış dağıtılmış, küme tabanlı bir veri yapısıdır.

Pandas DataFrame

Pandas DataFrame, bir bilgisayara sığan küçük ve orta ölçekli veri kümeleri için en iyi olan bellek içi, tek makineli bir veri yapısıdır.

Python'da Pandas DataFrame API'lerini kullanarak aynı görevleri gerçekleştirme örneği aşağıda verilmiştir:

import pandas as pd

# Create a sample DataFrame
data = {'Name': ['Alice', 'Bob', 'Cathy', 'David'],
        'Age': [34, 45, 29, 23]}
df = pd.DataFrame(data)

# Select columns
print(df[['Name']])

# Filter rows
print(df[df['Age'] > 30])

# Group by and aggregate
print(df.groupby('Age').size())

Spark DataFrame ile Pandas DataFrame karşılaştırması

Özellik Spark DataFrame pandas DataFrame
Yürütme Küme genelinde dağıtılmış Tek bir makinede (bellek üzerinde) çalışır
Ölçeklenebilirlik Çok büyük veri kümelerini işler (terabayt veya daha fazla) Küçük ve orta ölçekli veri kümeleri için en iyi yöntem (RAM'e uyar)
Apı 'leri SQL benzeri işlemler, Python/Scala/Java/R'de Spark API'leri Python tabanlı API
Performans Catalyst ve Tungsten motorları ile optimize edilmiştir Tek düğümlü işlemler için iyileştirilmiş
Tembel ve Hevesli karşılaştırması Gecikmeli değerlendirme (yürütmeden önce plan sorgusu) İstekli yürütme (hemen çalışır)
Kullanım Örnekleri Büyük veri işleme, ETL, akış, makine öğrenmesi Veri analizi, prototip oluşturma, hafif ML
Entegrasyon Spark ekosistemi ve dağıtılmış depolama ile çalışır Python ekosistemiyle (NumPy, SciPy vb.) çalışır

İpucu

Spark kullanarak verileri yükleme ve dönüştürme hakkında daha fazla bilgi için bkz. Apache Spark Python (PySpark) DataFrame API'sini, Apache Scala DataFrame API'sini veya SparkR SparkDataFrame API'sini.