PySpark toplulaştırmaları

PySpark'e Giriş

Benjamin Schmidt

Data Engineer

PySpark SQL toplulaştırmalarına genel bakış

  • Yaygın SQL toplulaştırmaları spark.sql(){{1}} ile çalışır
    # SQL toplulaştırma sorgusu
    spark.sql("""
      SELECT Department, SUM(Salary) AS Total_Salary, AVG(Salary) AS Average_Salary
      FROM employees
      GROUP BY Department
    """).show()
    
PySpark'e Giriş

DataFrame ve SQL işlemlerini birleştirme

# 3000'den fazla maaşları filtrele
filtered_df = df.filter(df.Salary > 3000)

# Filtrelenmiş DataFrame'i bir görünüm olarak kaydet
filtered_df.createOrReplaceTempView("filtered_employees")

# Filtrelenmiş görünümde SQL kullanarak toplulaştırma yap spark.sql(""" SELECT Department, COUNT(*) AS Employee_Count FROM filtered_employees GROUP BY Department """).show()
PySpark'e Giriş

Toplulaştırmalarda veri türlerini yönetme

# Tür dönüştürme örneği
data = [("HR", "3000"), ("IT", "4000"), ("Finance", "3500")]
columns = ["Department", "Salary"]
df = spark.createDataFrame(data, schema=columns)

# Maaş sütununu tam sayıya dönüştür df = df.withColumn("Salary", df["Salary"].cast("int")) # Toplulaştırma yap df.groupBy("Department").sum("Salary").show()
PySpark'e Giriş

Toplulaştırmalar için RDD'ler

# RDD'lerle toplulaştırma örneği
rdd = df.rdd.map(lambda row: (row["Department"], row["Salary"]))

rdd_aggregated = rdd.reduceByKey(lambda x, y: x + y)
print(rdd_aggregated.collect())
PySpark'e Giriş

PySpark toplulaştırmaları için en iyi uygulamalar

  • Erken filtreleme: Toplulaştırmalardan önce veri boyutunu küçültün
  • Veri türlerini yönetin: Verilerin temiz ve doğru türde olduğundan emin olun
  • Tüm veri kümesini kullanan işlemlerden kaçının: groupBy() gibi işlemleri en aza indirin
  • Doğru arayüzü seçin: Çoğu görev için optimizasyonları nedeniyle DataFrame'leri tercih edin
  • Performansı izleyin: Çalışma planını incelemek ve optimize etmek için explain() kullanın
PySpark'e Giriş

Önemli çıkarımlar

  • PySpark SQL Toplulaştırmaları: Verileri özetlemek için SUM() ve AVERAGE() gibi fonksiyonlar
  • DataFrames ve SQL: Esnek veri işleme için her iki yaklaşımı birleştirme
  • Veri Türlerini Yönetme: Toplulaştırmalar sırasında tür uyumsuzluklarını ele alma
  • RDD'ler ve DataFrames: Artıları ve eksilerini anlama ve doğru aracı seçme
PySpark'e Giriş

Hadi pratik yapalım!

PySpark'e Giriş

Preparing Video For Download...