Apache Spark ile büyük veri işleme
PySpark ile büyük olay verisini okur, temizler, birleştirir ve tekrar çalıştırılabilir toplu işlere dönüştürürsün.
Seviye 301 · 21 ders · 18 pratik lab
Dersler
Temeller
- Spark mimarisi: sürücü, yürütücü, tembel değerlendirme: Spark’ın işi nasıl bölüp dağıttığını ve dönüşüm ile eylem farkını anlarsın.
- İlk PySpark DataFrame: SparkSession açar, küçük bir DataFrame kurar ve içeriğini gösterirsin.
- CSV okumak ve şemayı açıkça vermek: Şemayı tahmine bırakmadan tanımlar, hatalı tür çıkarımından kaçınırsın.
- JSON olaylarını okumak: İç içe JSON olay kayıtlarını DataFrame sütunlarına açarsın.
- Kısa görev: kimlik olaylarını keşfet
Dönüştürme
- Seçmek, süzmek, dönüştürmek: Sütun seçer, koşullu süzer ve yeni sütunlar türetirsin.
- Eksik, yinelenen ve geçersiz kayıtları temizlemek: Bozuk kayıtları ayıklar, temizlenmiş bir veri kümesi hazırlarsın.
- Gruplayıp toplamak: groupBy ve agg ile olayları kaynağa, güne ve türe göre özetlersin.
- Veri kümelerini birleştirmek: Olayları varlık ve kullanıcı tablolarıyla eşleştirir, birleştirme türlerini seçersin.
- Ham olaylardan oturumlar türetmek: Zaman damgalı olayları kullanıcı başına oturumlara toplar, ham olay yerine oturum sayarsın.
- Pencere fonksiyonları: sıra ve kayan toplam
- Kısa görev: kaba kuvvet denemelerini oturumlarda bul
SQL ve depolama
- Spark SQL ile sorgulamak: DataFrame’i geçici görünüm olarak kaydedip SQL ile sorgularsın.
- Bölümlenmiş Parquet yazmak ve incelemek: Sonucu tarihe göre bölümlenmiş Parquet olarak yazar, dosya yapısını doğrularsın.
- Yürütme planı ve sık hatalar: explain ile planı okur, bellek ve şema hatalarının nedenini bulursun.
- Kısa görev: tarihe göre bölümlü arşiv
Üretime yaklaşmak
- spark-submit ile toplu uygulama çalıştırmak: Betiği uygulama olarak gönderir, aynı işi yeniden güvenle çalıştırırsın.
- Yapılandırılmış akışa giriş: Toplu işle akış işlemenin farkını ve Kafka kaynağıyla çalışmanın mantığını görürsün.
- Spark’ta sır yönetimi ve kişisel veri koruması: Parolaları yapılandırmaya gömmeden verir, kişisel sütunları çıktıdan ayıklarsın.
- Kullanıcı fonksiyonları (UDF) ve bedelleri
- Bitirme görevi: yeniden kullanılabilir olay işleme hattı: Ham olayı okuyup temizleyen, özetleyen ve bölümlenmiş çıktı yazan bir toplu iş kurarsın.
Pratik lablar
- Açık şemayla CSV oku: PySpark ile bir geçiş kartı kaydını açık şema tanımlayarak okuyup sütun türlerini ve satır sayısını yazdır.
- Şemaya uymayan satırları yakala: PERMISSIVE kipte okuyup bozuk kayıt sütunuyla şemaya uymayan satırları ayrı bir dosyaya yaz ve oranını raporla.
- İç içe JSON olaylarını düzleştir: İç içe yapılar ve diziler içeren bulut denetim olaylarını explode ve nokta gösterimiyle düz bir DataFrame'e çevir.
- Seç, süz, yeni sütun türet: Proxy kaydından yalnızca engellenen istekleri süzüp URL'den alan adını türeten yeni bir sütun ekle.
- Yinelenen ve geçersiz kayıtları temizle: Yinelenen olayları, boş kullanıcıları ve gelecekteki zaman damgalarını temizleyip her adımda atılan satır sayısını raporla.
- Yavaş UDF'yi yerleşik işlevle değiştir: Python UDF ile yazılmış bir IP sınıflandırmasını yerleşik Spark işlevleriyle yeniden yazıp süre farkını ve sonuç eşitliğini göster.
- Kullanıcı başına özet: groupBy ve agg ile kullanıcı başına olay sayısı, farklı IP sayısı ve son görülme zamanını hesapla.
- İki veri kümesini birleştir: Kimlik doğrulama olaylarını varlık envanteriyle birleştirip kritik sunuculara yapılan başarısız girişleri sırala.
- Anti-join ile bilinmeyen kaynaklar: Sol anti-join ile izin listesinde olmayan kaynak adreslerini bulup her biri için ilk görülme zamanını ve hacmini çıkar.
- Pencereyle sıralama: Her departman içinde en çok veri indiren üç kullanıcıyı pencere işleviyle sırala.
- Ham olaylardan oturum türet: Aynı kullanıcının olaylarını 30 dakikalık boşluk kuralıyla oturumlara bölüp oturum başına süre ve olay sayısını hesapla.
- Kümülatif toplamla sızıntı eşiği: Kullanıcı başına gün içi kümülatif yükleme hacmini hesaplayıp eşiğin ilk aşıldığı anı ve o ana kadarki hedefleri raporla.
- Spark SQL ile aynı soruyu sor: Bir DataFrame'i geçici görünüm olarak kaydedip SQL ile en çok 404 üreten on istemciyi bul.
- Bölümlü Parquet yaz ve incele: Olayları tarih bölümlü Parquet olarak yazıp tek gün sorgusunda yalnızca ilgili bölümün okunduğunu planla kanıtla.
- Yürütme planından hatayı bul: explain çıktısında tam tarama ve gereksiz karıştırmaya yol açan adımı bulup sorguyu düzelterek planı karşılaştır.
- spark-submit ile toplu iş: Girdi ve çıktı yolunu argüman alan bir PySpark betiğini spark-submit ile çalıştırıp çıktı dosyalarını doğrula.
- Klasörden akış okuma: Bir klasöre düşen JSON dosyalarını Structured Streaming ile okuyup dakika başına olay sayısını konsola yazan bir akış kur.
- Koddaki parolayı ve açık kişisel veriyi temizle: Bir Spark işindeki gömülü veritabanı parolasını ortam değişkenine taşıyıp çıktıdaki e-posta sütununu karma ile takma ada çevir.
Kurs hakkında
PySpark ile büyük olay verisini okur, temizler, birleştirir ve tekrar çalıştırılabilir toplu işlere dönüştürürsün.
Ne öğreneceksin
- Temeller
- Dönüştürme
- SQL ve depolama
- Üretime yaklaşmak
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.