Course Code: pysprkub
Duration: 21 hours
Prerequisites:
Katılımcılarda aşağıdaki becerilerin bulunması beklenmektedir:
- Python programlama konusunda işlevler, modüller ve temel nesne yönelimli kavramlar dahil olmak üzere pratik deneyim.
- Pandas ve tabular veri işleme iş akışları ile temel veya orta düzeyde deneyim.
- Veri okuma, dönüştürme, eylemler, birleştirme (joins) ve özetleme işlemleri dahil olmak üzere PySpark ve Spark DataFrames ile temel aşinalık.
- Filtreleme, gruplandırma ve veri kümelerini birleştirme gibi SQL ve veri işleme kavramları hakkında genel bir anlayış.
- Konteynerler, imajlar ve podlar gibi kavramlar dahil olmak üzere Docker ve Kubernetes ile temel aşinalık. Kubernetes yöneticiliği deneyimi gerekmemektedir.
- CSV, JSON ve Parquet gibi yaygın veri biçimleri hakkında temel bilgi.
Katılımcıların Kubernetes yöneticisi veya altyapı uzmanı olmaları gerekmemektedir. Kurs, veri mühendislerinin, geliştiricilerin ve veri bilimcilerin, uygulama ve yapılandırma perspektifinden Kubernetes üzerinde çalışan Spark iş yüklerini nasıl anlayıp optimize edebileceklerine odaklanmaktadır.
Hedef Kitle
Bu kurs; bulut veya konteynerleştirilmiş ortamlarda Python ve Spark kullanarak veri işleme ve makine öğrenmesi iş yükleri geliştiren, bakımını yapan veya optimize eden profesyoneller için tasarlanmıştır.
Aşağıdaki kişiler için özellikle uygundur:
- PySpark, dağıtık veri işleme ve ETL boru hatlarıyla çalışan Veri Mühendisleri.
- Spark, Pandas veya Polars ile büyük veri kümelerini işleyen veya makine öğrenmesi iş yükleri yürüten Veri Bilimcileri.
- Veri yoğun uygulamalarla çalışan ve bellek verimliliğini ve işleme performansını artırmak isteyen Python Geliştiricileri.
- Paylaşımlı Kubernetes veya bulut ortamlarında veri hazırlama ve model eğitimi iş yüklerini yöneten Makine Öğrenmesi Mühendisleri.
- Büyük veri kümeleriyle çalışarak veri işleme verimliliğini artırmayı hedefleyen Analitik Mühendisleri.
- Kubernetes üzerinde Spark iş yüklerini destekleyen ve uygulama düzeyindeki yapılandırmanın kaynak kullanımını ve performansı nasıl etkilediğini anlaması gereken DevOps, Platform ve Bulut Mühendisleri.
- Modern veri işleme platformlarının tasarımında veya optimizasyonunda rol alan Teknik Liderler ve Çözüm Mimarları.
Overview:
Üç günlük bu uygulamalı kurs, Kubernetes tabanlı ortamlarda PySpark, Pandas ve Polars kullanarak verimli veri işleme iş yükleri oluşturmaya ve optimize etmeye odaklanmaktadır.
Katılımcılar, Spark uygulamalarının Kubernetes üzerinde nasıl çalıştığını ve uygulama düzeyindeki yapılandırma kararlarının performans, ölçeklenebilirlik, kaynak tüketimi ve maliyet üzerinde nasıl etkili olduğunu pratik bir anlayışla kavrayacaktır. Kurs; executor boyutlandırması, bellek tahsisi, dinamik tahsis, bölümlendirme stratejileri, shuffle davranışı, küçük dosya sorunları ve verimli Parquet işleme dahil olmak üzere temel optimizasyon alanlarını kapsamaktadır.
Kurs ayrıca Pandas ile çalışırken karşılaşılan yaygın zorlukları, özellikle bellek kısıtlamaları ve bellek yetersizliği hatalarını ele almakta ve seçili veri işleme iş yükleri için Polars'ı yüksek performanslı bir alternatif olarak tanıtmaktadır. Uygulamalı egzersizler aracılığıyla katılımcılar, performans ve bellek sorunlarını teşhis edecek, farklı yapılandırma stratejilerini karşılaştıracak ve gerçekçi ETL ve makine öğrenmesi senaryolarına optimizasyon teknikleri uygulayacaktır.
Kurs boyunca temel odak nokta pratik karar vermektir: darboğazları nasıl belirleyeceğinizi, uygun aracı seçmeyi, Spark'ı verimli bir şekilde yapılandırmayı ve altyapı kaynak tüketimi ile maliyet dengesini nasıl gözeterek performansı optimize edeceğinizi anlamaktır.
Course Outline:
Modül 1: Büyük Veri ve Spark Temelleri
- Büyük Veri ekosisteminin genel görünümü ve modern veri platformlarında Spark'ın rolü
- Spark mimarisini anlama: driver, executorlar, küme yöneticisi, tembel değerlendirme (lazy evaluation), DAG ve yürütme planlaması
- RDD ve DataFrame API'leri arasındaki farklılıklar ve hangi yaklaşımın ne zaman kullanılacağı
- SparkSession oluşturma ve yapılandırma; uygulama yapılandırmasının temel ilkelerini anlama
Modül 2: PySpark DataFrames
- CSV, JSON, Parquet ve Delta gibi kurumsal kaynaklardan ve biçimlerden veri okuma ve yazma
- PySpark DataFrames ile çalışma: dönüştürme, eylemler, sütun ifadeleri, filtreleme, birleştirme (joins) ve özetleme
- Pencere işlevleri (window functions), zaman damgalarıyla çalışma ve iç içe geçmiş veriyle başa çıkma gibi ileri düzey işlemlerin uygulanması
- Veri kalite kontrollerinin uygulanması ve yeniden kullanılabilir, sürdürülebilir PySpark kodu yazma
Modül 3: Spark Kullanıcıları İçin Kubernetes ve Docker Temelleri
- Docker imajlarının ve Kubernetes podlarının Spark driver ve executor süreçleriyle ilişkisini anlama — yöneticiler için değil, küme tüketicileri için kavramsal bir bakış
- Spark işinin Kubernetes üzerinde çalışırken neler olduğunu anlama: pod zamanlaması, kaynak istekleri ve sınırları, oturum ayarlarının bunlara nasıl eşlendiği
- Spark oturum parametreleri üzerinden neyin sizin kontrolünüzde olduğunu, neyin de platform ekibinin küme sağlama ayarları üzerinden kontrolünde olduğunu ve bu sınırın nedenine ayarlamaları etkilediğini anlama
- Uygulamalı egzersiz: Kum havuzu kümesinde çalışan bir Spark-on-Kubernetes işini inceleyin ve driver ile executor podlarını belirleyin
Modül 3: Kubernetes Üzerinde Spark Oturum Yapılandırması — Derinlemesine İnceleme
- Executor sayısı ile executor boyutu arasındaki farkı anlama: bellek ve çekirdek (cores) arasındaki takaslar ve bunların nasıl değerlendirileceği
- Driver ve executor bellek tahsisi, bellek fazlalığı (overhead) ve bunların pod kaynaklarına nasıl dönüştüğü
- Dinamik tahsis: Kubernetes üzerinde nasıl davrandığı, ne zaman kaynak tasarrufu sağladığı ve ne zaman sağamadığı
- Uygulamalı egzersiz: Aynı işi farklı executor ve çekirdek yapılandırmaları altında çalıştırın ve çalışma süresi ile kaynak kullanımını karşılaştırın
Modül 5: Ölçekleme Davranışı ve Maliyet Optimizasyonu
- Ek düğümlerin eklenmesinin veya kaldırılmasının iş davranışını, tamamlanma süresini ve kaynak tüketimini nasıl değiştirdiğini anlama
- Çok sayıda küçük executor ile daha az sayıda büyük executorun karşılaştırılması: performans ve maliyet takasları
- Shuffle davranışı ve shuffle bölümü ayarlamaları, yapılandırma seçimlerinin maliyet etkisini tahmin etme dahil
- Uygulamalı egzersiz: Kum havuzu kümesini beş düğümden on düğüme ölçekleyin ve iş tamamlanma süresi ile kaynak tüketimi üzerindeki etkiyi gözlemleyin
Modül 6: Verimli Veri Alımı ve Bölümlendirme
- Küçük dosya sorununu anlama: Neden kaynakların birçok 1–5 MB'lık Parquet dosyasına bölünmesi performansı düşürür ve bölümlendirmeyi çarpıtır
- Bölümü yeniden düzenleme (repartitioning) ve birleştirme (coalescing) stratejileri
- Okuma ve yazma sırasında bölüm boyutlarını kontrol etme
- Aşağı akışta (downstream) küçük dosya sorununu yeniden yaratmaktan kaçınmak için Parquet dosyalarını verimli yazma
- Uygulamalı egzersiz: Birçok küçük Parquet bölümünden oluşan bir veri kümesini yükleyin, farklı yeniden bölümlendirme stratejileri uygulayın ve optimizasyon öncesi ve sonrası performansı karşılaştırın
Modül 7: Pandas Bellek Yönetimi ve Hata Teşhisi
- Pandas'taki bellek yetersizliği (out-of-memory) hatalarının kök nedenlerini anlama ve belirtilerini tanıma
- Spark ile Pandas arasında bellek verimli dönüşüm kalıplarının uygulanması
- Büyük veri kümelerini CSV olarak yazarken bellek şişlemelerinden (blow-ups) kaçınma
- Kısıtlı ortamlar için parça parça işleme (chunked processing) ve veri tipi (dtype) optimizasyonunun kullanılması
- Uygulamalı egzersiz: Tipik bir Pandas bellek yetersizliği senaryosunu yeniden yaratın ve parça parça işleme ile dtype optimizasyonu kullanarak çözün
Modül 8: Tamamlayıcı Bir Araç Olarak Polars
- Polars'ın Pandas'a göre konumlandırılması: performans özellikleri, tembel değerlendirme ve bellek davranışı
- Polars'ın modern bulut veri yığınları ve migrasyon yol haritalarında PySpark ve Pandas'ın yanında nerede yer aldığını anlama; AWS ortamları dahil
- Uygulamalı egzersiz: Pandas ağırlıklı bir dönüştürme işlemini Polars'ta yeniden yazın ve bellek kullanımını ile işleme hızını karşılaştırın
Modül 9: Optimizasyonu ETL ve ML İş Yüklerinde Uygulama
- Gerçekçi bir ETL boru hattında yapılandırma, bölümlendirme ve bellek yönetimi ilkelerinin uygulanması
- Aynı kümede çalışan makine öğrenmesi iş yüklerine özgü optimizasyon dikkatlerini anlama
- Maliyet ve performans sorunlarını sistematik olarak teşhis etmek için pratik bir ayarlama iş akışının uygulanması
- Uygulamalı egzersiz: Katılımcıların Spark yapılandırmasını kendilerinin ayarladığı, veri yükleme, dönüştürme ve basit bir model eğitimi adımını içeren uçtan uca bir mini-proje tamamlayın
Sites Published:
United Arab Emirates - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Qatar - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Egypt - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Saudi Arabia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
South Africa - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Brasil - Processamento Eficiente de Dados no Kubernetes com PySpark, Pandas e Polars
Canada - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
中国 - 基于Kubernetes使用PySpark、Pandas和Polars实现高效数据处理
香港 - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
澳門 - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
台灣 - 使用PySpark、Pandas和Polars在Kubernetes上進行高效資料處理
USA - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Österreich - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes
Schweiz - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes
Deutschland - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes
Czech Republic - Efektivní zpracování dat v Kubernetes pomocí PySpark, Pandas a Polars
Denmark - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Estonia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Finland - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Greece - Αποτελεσματική Επεξεργασία Δεδομένων σε Kubernetes με PySpark, Pandas & Polars
Magyarország - Hatékony adatfeldolgozás Kubernetesben PySpark, Pandas és Polars segítségével
Ireland - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Luxembourg - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Latvia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
España - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Italia - Elaborazione dati efficiente su Kubernetes con PySpark, Pandas e Polars
Lithuania - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Nederland - Efficiënte verwerking van data op Kubernetes met PySpark, Pandas & Polars
Norway - Effektiv databehandling på Kubernetes med PySpark, Pandas og Polars
Portugal - Processamento Eficiente de Dados no Kubernetes com PySpark, Pandas e Polars
România - Procesare eficientă a datelor pe Kubernetes cu PySpark, Pandas & Polars
Sverige - Effektiv datahantering med PySpark, Pandas och Polars på Kubernetes
Türkiye - Kubernetes Ortamında PySpark, Pandas ve Polars ile Verimli Veri İşleme
Malta - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Belgique - Traitement efficace des données sur Kubernetes avec PySpark, Pandas et Polars
France - Traitement efficace des données sur Kubernetes avec PySpark, Pandas et Polars
日本 - KubernetesにおけるPySpark、Pandas、Polarsによる効率的なデータ処理
Australia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Malaysia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
New Zealand - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Philippines - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Singapore - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Thailand - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Vietnam - Xử lý dữ liệu hiệu quả trên Kubernetes bằng PySpark, Pandas & Polars
India - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Argentina - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Chile - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Costa Rica - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Ecuador - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Guatemala - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Colombia - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
México - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Panama - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Peru - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Uruguay - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Venezuela - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Polska - Skuteczne przetwarzanie danych w Kubernetesie z wykorzystaniem PySpark, Pandas i Polars
United Kingdom - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
South Korea - PySpark, Pandas 및 Polars를 활용한 Kubernetes에서 효율적인 데이터 처리
Pakistan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Sri Lanka - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Bulgaria - Ефективна обработка на данни в Kubernetes с PySpark, Pandas и Polars
Bolivia - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars
Indonesia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Kazakhstan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Moldova - Procesare eficientă a datelor pe Kubernetes cu PySpark, Pandas & Polars
Morocco - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Tunisia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Kuwait - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Oman - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Slovakia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Kenya - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Nigeria - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Botswana - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Slovenia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Croatia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Serbia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Bhutan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Nepal - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
Uzbekistan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars
US Government - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars