Course Code: pysprkub
Duration: 21 hours
Prerequisites:
Partisipan harus memiliki:
- Pengalaman praktis dalam program Python, termasuk fungsi, modul, dan konsep berorientasi objek dasar.
- Pengalaman dasar hingga menengah dalam bekerja dengan Pandas dan alur kerja pemrosesan data tabular.
- Keterampilan dasar dalam PySpark dan Spark DataFrames, termasuk pembacaan data, transformasi, aksi, penggabungan (joins), dan agregasi.
- Pemahaman umum tentang SQL dan konsep pemrosesan data, termasuk penyaringan, pengelompokan, dan penggabungan dataset.
- Keterampilan dasar dalam konsel Docker dan Kubernetes, seperti kontainer, image, dan pod. Pengalaman administrasi Kubernetes tidak diperlukan.
- Pemahaman dasar tentang format data umum seperti CSV, JSON, dan Parquet.
Partisipan tak perlu menjadi administrator Kubernetes atau spesialis infrastruktur. Kursus ini berfokus pada bagaimana data engineer, pengembang, dan ilmuwan data dapat memahami dan mengoptimalkan beban kerja Spark mereka yang berjalan di Kubernetes dari perspektif aplikasi dan konfigurasi.
Audiens Sasaran
Kursus ini dirancang untuk profesional yang mengembangkan, memelihara, atau mengoptimalkan beban kerja pemrosesan data dan machine learning menggunakan Python dan Spark di lingkungan cloud atau terkontainerisasi.
Khususnya cocok untuk:
- Insinyur Data yang bekerja dengan PySpark, pemrosesan data terdistribusi, dan pipeline ETL.
- Ilmuwan Data yang memproses dataset besar atau menjalankan beban kerja machine learning dengan Spark, Pandas, atau Polars.
- Pengembang Python yang bekerja dengan aplikasi berintensitas data dan ingin meningkatkan efisiensi memori dan kinerja pemrosesan.
- Insinyur Machine Learning yang mengelola beban kerja persiapan data dan pelatihan model di lingkungan Kubernetes atau cloud bersama.
- Insinyur Analitik yang bekerja dengan dataset besar dan mencari cara untuk meningkatkan efisiensi pemrosesan data.
- Insinyur DevOps, Platform, dan Cloud yang mendukung beban kerja Spark di Kubernetes dan perlu memahami bagaimana konfigurasi tingkat aplikasi memengaruhi penggunaan sumber daya dan kinerja.
- Pemimpin Teknis dan Arsitek Solusi yang terlibat dalam merancang atau mengoptimalkan platform pemrosesan data modern.
Overview:
Kursus praktis tiga hari ini berfokus pada pembangunan dan optimasi beban kerja pemrosesan data yang efisien menggunakan PySpark, Pandas, dan Polars dalam lingkungan berbasis Kubernetes.
Partisipan akan mengembangkan pemahaman praktis tentang bagaimana aplikasi Spark dieksekusi di Kubernetes dan bagaimana keputusan konfigurasi tingkat aplikasi memengaruhi kinerja, skalabilitas, konsumsi sumber daya, dan biaya. Kursus ini mencakup area optimasi utama, termasuk penentuan ukuran eksekutor, alokasi memori, alokasi dinamis, strategi partisi, perilaku shuffle, masalah file kecil, dan pemrosesan Parquet yang efisien.
Kursus ini juga membahas tantangan umum saat bekerja dengan Pandas, termasuk batasan memori dan kegagalan out-of-memory, serta memperkenalkan Polars sebagai alternatif berkinerja tinggi untuk beban kerja pemrosesan data tertentu. Melalui latihan langsung, partisipan akan mendiagnosis masalah kinerja dan memori, membandingkan strategi konfigurasi yang berbeda, dan menerapkan teknik optimasi pada skenario ETL dan machine learning yang realistis.
Penekanan utama dalam kursus ini adalah pada pengambilan keputusan praktis: memahami cara mengidentifikasi titik kemacetan, memilih alat yang tepat, mengonfigurasi Spark secara efisien, serta menyeimbangkan kinerja dengan konsumsi sumber daya infrastruktur dan biaya.
Course Outline:
Modul 1: Dasar-dasar Big Data & Spark
- Ringkasan ekosistem Big Data dan peran Spark dalam platform data modern
- Pemahaman arsitektur Spark: driver, eksekutor, cluster manager, evaluasi lazy, DAG, dan perencanaan eksekusi
- Perbedaan antara API RDD dan DataFrame serta kapan menggunakan masing-masing pendekatan
- Membuat dan mengonfigurasi SparkSession serta memahami dasar-dasar konfigurasi aplikasi
Modul 2: PySpark DataFrames
- Membaca dan menulis data dari sumber dan format perusahaan: CSV, JSON, Parquet, dan Delta
- Bekerja dengan PySpark DataFrames: transformasi, aksi, ekspresi kolom, penyaringan, penggabungan, dan agregasi
- Mengimplementasikan operasi lanjutan seperti fungsi window, penanganan timestamp, dan bekerja dengan data bersarang
- Menerapkan pemeriksaan kualitas data dan menulis kode PySpark yang dapat digunakan kembali dan mudah dipelihara
Modul 3: Dasar-dasar Kubernetes & Docker untuk Pengguna Spark
- Mengerti bagaimana image Docker dan pod Kubernetes berhubungan dengan proses driver dan eksekutor Spark — pandangan konseptual untuk pengguna cluster, bukan administrator
- Mengapa apa yang terjadi ketika sebuah pekerjaan Spark berjalan di Kubernetes: penjadwalan pod, permintaan dan batas sumber daya, serta bagaimana pengaturan sesi dipetakan ke dalamnya
- Mengerti apa yang Anda kendalikan melalui parameter sesi Spark versus apa yang dikendalikan oleh tim platform melalui penyediaan cluster — dan mengapa batas ini penting untuk tuning
- Latihan langsung: Periksalah pekerjaan Spark-on-Kubernetes yang berjalan di cluster sandbox dan identifikasi pod driver dan eksekutor
Modul 4: Konfigurasi Sesi Spark di Kubernetes — Penjelasan Mendalam
- Mengerti jumlah eksekutor versus ukuran eksekutor: kompromi antara memori dan core, serta bagaimana bernalar tentang keduanya
- Alokasi memori driver dan eksekutor, overhead memori, dan bagaimana hal ini diterjemahkan menjadi sumber daya pod
- Alokasi dinamis: bagaimana perilakunya di Kubernetes, kapan menghemat sumber daya, dan kapan tidak
- Latihan langsung: Jalankan pekerjaan yang sama dengan konfigurasi eksekutor dan core yang berbeda dan bandingkan waktu eksekusi serta penggunaan sumber daya
Modul 5: Perilaku Skalabilitas & Optimasi Biaya
- Mengerti bagaimana penambahan atau pengurangan node mengubah perilaku pekerjaan, waktu penyelesaian, dan konsumsi sumber daya
- Membandingkan banyak eksekutor kecil versus beberapa yang besar: kompromi kinerja dan biaya
- Perilaku shuffle dan penyetelan partisi shuffle, termasuk estimasi dampak biaya dari pilihan konfigurasi
- Latihan langsung: Skala cluster sandbox dari lima menjadi sepuluh node dan amati efeknya pada waktu penyelesaian pekerjaan dan konsumsi sumber daya
Modul 6: Ingesti & Partisi Data yang Efisien
- Mengerti masalah file kecil: mengapa sumber yang terbagi dalam banyak file Parquet berukuran 1–5 MB menurunkan kinerja dan mengganggu partisi
- Strategi repartisi dan koalesensi
- Mengontrol ukuran partisi saat membaca dan menulis
- Menulis Parquet secara efisien untuk menghindari munculnya kembali masalah file kecil di hilir
- Latihan langsung: Muat dataset yang terdiri dari banyak partisi Parquet kecil, terapkan strategi repartisi yang berbeda, dan bandingkan kinerja sebelum dan sesudah optimasi
Modul 7: Manajemen Memori Pandas & Diagnosis Kegagalan
- Mengerti penyebab utama kesalahan out-of-memory di Pandas dan mengenali gejalanya
- Menerapkan pola konversi yang efisien secara memori antara Spark dan Pandas
- Menghindari ledakan memori saat menulis dataset besar ke CSV
- Menggunakan pemrosesan chunked dan optimasi dtype untuk lingkungan yang terbatas
- Latihan langsung: Reproduksi skenario out-of-memory Pandas yang umum dan selesaikan menggunakan chunking dan optimasi dtype
Modul 8: Polars sebagai Alat Pelengkap
- Posisi Polars relatif terhadap Pandas: karakteristik kinerja, evaluasi lazy, dan perilaku memori
- Mengerti di mana Polars cocok berdampingan dengan PySpark dan Pandas dalam stack data cloud modern dan peta jalan migrasi, termasuk lingkungan AWS
- Latihan langsung: Tulis ulang transformasi yang padat Pandas menggunakan Polars dan bandingkan penggunaan memori serta kecepatan pemrosesan
Modul 9: Menerapkan Optimasi pada Beban Kerja ETL & ML
- Menerapkan prinsip konfigurasi, partisi, dan manajemen memori pada pipeline ETL yang realistis
- Mengerti pertimbangan optimasi yang spesifik untuk beban kerja machine learning yang berjalan di cluster yang sama
- Menerapkan alur kerja tuning praktis untuk mendiagnosis masalah biaya dan kinerja secara sistematis
- Latihan langsung: Selesaikan proyek mini end-to-end yang menggabungkan pemuatan data, transformasi, dan langkah pelatihan model sederhana, dengan partisipan menyetel konfigurasi Spark mereka sendiri
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