Spark DataFrame'leri Hakkında Daha Fazlası

PySpark'e Giriş

Benjamin Schmidt

Data Engineer

Çeşitli Veri Kaynaklarından DataFrame Oluşturma

  • CSV Dosyaları: Yapılandırılmış, sınırlı veri için yaygın
  • JSON Dosyaları: Yarı yapılandırılmış, hiyerarşik veri formatı
  • Parquet Dosyaları: Depolama ve sorgulama için optimize edilmiş, veri mühendisliğinde sıkça kullanılır
  • Örnek:
    spark.read.csv("path/to/file.csv")
    
  • Örnek:
    spark.read.json("path/to/file.json")
    
  • Örnek:
    spark.read.parquet("path/to/file.parquet")
    
1 https://spark.apache.org/docs/latest/api/python/reference/pyspark.pandas/api/pyspark.pandas.read_csv
PySpark'e Giriş

Şema Çıkarımı ve Manuel Şema Tanımı

  • Spark, inferSchema=True ile şemaları veriden çıkarabilir

  • Sabit veri yapıları için daha iyi kontrol sağlamak amacıyla şemayı manuel tanımlayın

Büyük Ölçekte Şema

PySpark'e Giriş

PySpark DataFrame'lerinde Veri Türleri

  • IntegerType: Tam sayılar
    • Örn., 1, 3478, -1890456
  • LongType: Daha büyük tam sayılar
    • Örn., 8 baytlık işaretli sayılar, 922334775806
  • FloatType ve DoubleType: Ondalık değerler için kayan noktalı sayılar
    • Örn., 3.14159
  • StringType: Metin veya dize verileri için kullanılır
    • Örn., "Bu bir dize örneğidir."
  • ...
PySpark'e Giriş

PySpark DataFrame'leri için Veri Türleri Söz Dizimi

# Gerekli türleri sınıf olarak içe aktarın
from pyspark.sql.types import (StructType,
                            StructField, IntegerType,
                            StringType, ArrayType)

# Şemayı oluşturun
schema = StructType([
    StructField("id", IntegerType(), True),
    StructField("name", StringType(), True),
    StructField("scores", ArrayType(IntegerType()), True)
])

# Şemayı ayarlayın
df = spark.createDataFrame(data, schema=schema)
PySpark'e Giriş

DataFrame İşlemleri - Seçim ve Filtreleme

  • Belirli sütunları seçmek için .select() kullanın
  • Koşullara göre satırları filtrelemek için .filter() veya .where() kullanın
  • Sütun koleksiyonuna göre sıralamak için .sort() kullanın
# Yalnızca isim ve yaş sütunlarını seçip gösterin
df.select("name", "age").show()
# Yaşı 30'dan büyük olanları filtreleyin
df.filter(df["age"] > 30).show()
# Belirli bir değeri eşleştirmek için Where kullanın
df.where(df["age"] == 30).show()
# Yaşa göre sıralamak için Sort kullanın
df.sort("age", ascending=False).show()
PySpark'e Giriş

Sıralama ve Eksik Değerleri Kaldırma

  • Verileri .sort() veya .orderBy() ile sıralayın
  • Boş değer içeren satırları kaldırmak için na.drop() kullanın
# Yaş sütununu kullanarak sıralayın
df.sort("age", ascending=False).show()

# Eksik değerleri kaldırın
df.na.drop().show()

PySpark'e Giriş

Kısa Kılavuz

  • spark.read_json(): JSON'dan veri yükleyin
  • spark.read.schema(): Şemaları açıkça tanımlayın
  • .na.drop(): Eksik değer içeren satırları kaldırın
  • .select(), .filter(), .sort(), .orderBy(): Temel veri manipülasyon fonksiyonları
PySpark'e Giriş

Hadi Pratik Yapalım!

PySpark'e Giriş

Preparing Video For Download...