Course Code: pysprkub
Duration: 21 hours
Prerequisites:
Οι συμμετέχοντες πρέπει να έχουν:
- Πρακτική εμπειρία στη προγραμματιστική γλώσσα Python, συμπεριλαμβανομένων των συντεταγμένων, των modules και βασικών εννοιών προσανατολισμένης προς αντικείμενα.
- Βασική έως ενδιάμεση εμπειρία στην εργασία με Pandas και ροές επεξεργασίας δεδομένων σε επιπέδους μορφές.
- Βασική εξοικείωση με PySpark και Spark DataFrames, συμπεριλαμβανομένων της ανάγνωσης δεδομένων, μετασχηματισμών, ενεργειών, συνδέσεων (joins) και συλλογών.
- Γενική κατανόηση των εννοιών SQL και επεξεργασίας δεδομένων, συμπεριλαμβανομένων της φιλτράρισης, της ομαδοποίησης και της σύνδεσης σετ δεδομένων.
- Βασική εξοικείωση με εννοιες Docker και Kubernetes, όπως διαμορφώσεις, εικόνες και pods. Δεν απαιτείται εμπειρία διαχείρισης Kubernetes.
- Βασική κατανόηση κοινών μορφών δεδομένων όπως CSV, JSON και Parquet.
Οι συμμετέχοντες δεν χρειάζεται να είναι διαχειριστές Kubernetes ή ειδικοί υποδομής. Το σεμινάριο εστιάζει στο πώς οι data engineers, οι προγραμματιστές και οι data scientists μπορούν να κατανοήσουν και να βελτιστοποιήσουν τα φορτία εργασίας Spark που εκτελούνται στο Kubernetes από την προοπτική της εφαρμογής και της διαμόρφωσης.
Συγκεκριμένο Κοινό
Το σεμινάριο σχεδιάστηκε για επαγγελματίες που αναπτύσσουν, συντηρούν ή βελτιστοποιούν φορτία εργασίας επεξεργασίας δεδομένων και machine learning χρησιμοποιώντας Python και Spark σε περιβάσματα cloud ή containerized.
Είναι ιδιαίτερα κατάλληλο για:
- Data Engineers που εργάζονται με PySpark, κατακερματισμένη επεξεργασία δεδομένων και σωλήνες ETL.
- Data Scientists που επεξεργάζονται μεγάλα σετ δεδομένων ή εκτελούν φορτία machine learning με Spark, Pandas ή Polars.
- Προγραμματιστές Python που εργάζονται με εφαρμογές εκτός από δεδομένα και θέλουν να βελτιώσουν την απόδοση της μνήμης και την απόδοση επεξεργασίας.
- Machine Learning Engineers που διαχειρίζονται φορτία εργασίας προετοιμασίας δεδομένων και εκπαίδευσης μοντέλων σε μοιραζόμενα περιβάσματα Kubernetes ή cloud.
- Analytics Engineers που εργάζονται με μεγάλα σετ δεδομένων και αναζητούν να βελτιώσουν την αποτελεσματικότητα της επεξεργασίας δεδομένων.
- DevOps, Platform και Cloud Engineers που υποστηρίζουν φορτία Spark στο Kubernetes και πρέπει να κατανοούν πώς η διαμόρφωση στο επίπεδο της εφαρμογής επηρεάζει τη χρήση πόρων και την απόδοση.
- Τεχνικοί Υπεύθυνοι και αρχιτέκτονες λύσεων που εμπλέκονται στο σχεδιασμό ή τη βελτιστοποίηση σύγχρονων πλατφόρμων επεξεργασίας δεδομένων.
Overview:
Αυτό το πρακτικό τριήμερο σεμινάριο εστιάζει στη δημιουργία και τη βελτιστοποίηση αποτελεσματικών φορτίων εργασίας επεξεργασίας δεδομένων χρησιμοποιώντας PySpark, Pandas και Polars σε περιβάσεις βασισμένες σε Kubernetes.
Οι συμμετέχοντες θα αναπτύξουν μια πρακτική κατανόηση του πώς εκτελούνται οι εφαρμογές Spark στο Kubernetes και πώς οι αποφάσεις διαμόρφωσης στο επίπεδο της εφαρμογής επηρεάζουν την απόδοση, την κλιμάκωση, τη κατανάλωση πόρων και το κόστος. Το σεμινάριο καλύπτει βασικούς τομείς βελτιστοποίησης, συμπεριλαμβανομένων του μεγέθους των executors, της 할ογής μνήμης, της δυναμικής 할ογής, των στρατηγικών διαμερισματοποίησης, της συμπεριφοράς shuffle, των ζητημάτων μικρών αρχείων και της αποτελεσματικής επεξεργασίας Parquet.
Το σεμινάριο αντιμετωπίζει επίσης κοινές προκλήσεις κατά την εργασία με το Pandas, συμπεριλαμβανομένων των ορίων μνήμης και των αποτυχιών out-of-memory, και εισάγει το Polars ως εναλλακτική λύση υψηλής απόδοσης για ορισμένα φορτία εργασίας επεξεργασίας δεδομένων. Μέσω πρακτικών ασκήσεων, οι συμμετέχοντες θα διαγνώσουν ζητήματα απόδοσης και μνήμης, θα συγκρίνουν διαφορετικές στρατηγικές διαμόρφωσης και θα εφαρμόσουν τεχνικές βελτιστοποίησης σε ρεαλιστικά σενάρια ETL και machine learning.
Η έμφαση σε tutto το σεμινάριο δίνεται στη πρακτική λήψη αποφάσεων: η κατανόηση του πώς εντοπίζονται οι εστίες συμφόρησης, επιλέγεται το κατάλληλο εργαλείο, διαμορφώνεται αποτελεσματικά το Spark και εξισορροπείται η απόδοση με τη κατανάλωση πόρων υποδομής και το κόστος.
Course Outline:
Module 1: Βάσεις Big Data & Spark
- Επισκόπηση του οικοσυστήματος Big Data και ο ρόλος του Spark στις σύγχρονες πλατφόρμες δεδομένων
- Κατανόηση της αρχιτεκτονικής Spark: driver, executors, cluster manager, ο καθυστερημένος εκτίμησης, DAG και σχεδιασμός εκτέλεσης
- Διαφορές μεταξύ των API RDD και DataFrame και πότε να χρησιμοποιήσετε κάθε προσέγγιση
- Δημιουργία και διαμόρφωση SparkSession και κατανόηση των βασικών αρχών διαμόρφωσης εφαρμογής
Module 2: PySpark DataFrames
- Ανάγνωση και εγγραφή δεδομένων από πηγές και μορφές επιχείρησης: CSV, JSON, Parquet και Delta
- Εργασία με PySpark DataFrames: μετασχηματισμοί, ενέργειες, εκφράσεις στηλών, φιλτράρισμα, συνδέσεις (joins) και συλλογές
- Εφαρμογή προηγμένων λειτουργιών όπως παράθυρα συναρτήσεων, διαχείριση χρονοσφαιριών και εργασία με ενσωματωμένα δεδομένα
- Εφαρμογή ελέγχων ποιότητας δεδομένων και εγγραφή επαναχρησιμοποιήσιμου, συντηρήσιμου κώδικα PySpark
Module 3: Βασικά Kubernetes & Docker για Χρήστες Spark
- Κατανόηση του πώς οι εικόνες Docker και τα pods Kubernetes σχετίζονται με τις διεργασίες driver και executor του Spark — μια εννοιολογική άποψη για τους καταναλωτές του cluster, όχι για τους διαχειριστές
- Κατανόηση του τι συμβαίνει όταν μια εργασία Spark εκτελείται στο Kubernetes: προγραμματισμός pods, αιτήματα και όρια πόρων, και πώς οι ρυθμίσεις της συνεδρίας απεικονίζονται σε αυτά
- Κατανόηση του τι ελέγχετε μέσω παραμέτρων συνεδρίας Spark έναντι του τι ελέγχει η ομάδα πλατφόρμας μέσω της προμήθειας του cluster — και γιατί αυτό το όριο είναι σημαντικό για τη ρύθμιση
- Πρακτική άσκηση: Ελέγξτε μια ενεργή εργασία Spark-on-Kubernetes στο sandbox cluster και εντοπίστε τα pods driver και executor
Module 4: Διαμόρφωση Συνεδρίας Spark στο Kubernetes — Βαθύς Έλεγχος
- Κατανόηση του αριθμού των executors έναντι του μεγέθους του executor: εναλλακτικές μνήμης έναντι πυρήνων και πώς να συλλογίζετε γι’ αυτές
- Αφορά μνήμης driver και executor, επιπλέον μνήμη, και πώς αυτές μεταφράζονται σε πόρους pods
- Δυναμική αφορά: πώς συμπεριφέρεται στο Kubernetes, πότε εξοικονομεί πόρους και πότε όχι
- Πρακτική άσκηση: Εκτελέστε την ίδια εργασία με διαφορετικές διαμορφώσεις executor και πυρήνων και συγκρίνετε τον χρόνο εκτέλεσης και τη χρήση πόρων
Module 5: Συμπεριφορά Κλιμάκωσης & Βελτιστοποίηση Κόστους
- Κατανόηση του πώς η προσθήκη ή αφαίρεση κόμβων αλλάζει τη συμπεριφορά της εργασίας, τον χρόνο ολοκλήρωσης και τη κατανάλωση πόρων
- Σύγκριση πολλών μικρών executors έναντι λιγότερων μεγάλων: εναλλακτικές απόδοσης και κόστους
- Συμπεριφορά shuffle και ρύθμιση διαμερισμάτων shuffle, συμπεριλαμβανομένης της εκτίμησης της επίδρασης στο κόστος των επιλογών διαμόρφωσης
- Πρακτική άσκηση: Κλιμακώστε το sandbox cluster από πέντε σε δέκα κόμβους και παρατηρήστε την επίδραση στον χρόνο ολοκλήρωσης της εργασίας και στη κατανάλωση πόρων
Module 6: Αποτελεσματική Εισαγωγή & Διαμερισματοποίηση Δεδομένων
- Κατανόηση του ζητήματος των μικρών αρχείων: γιατί οι πηγές που κατακερματίζονται σε πολλά αρχεία Parquet 1–5 MB υποβαθμίζουν την απόδοση και παραμορφώνουν τη διαμερισματοποίηση
- Στρατηγικές επαναδιαμερισματοποίησης και συνένωσης (coalescing)
- Έλεγχος μεγεθών διαμερισμάτων κατά την ανάγνωση και την εγγραφή
- Εγγραφή Parquet αποτελεσματικά για την αποφυγή αναπαραγωγής του ζητήματος των μικρών αρχείων downstream
- Πρακτική άσκηση: Φορτώστε ένα σύνολο δεδομένων που αποτελείται από πολλά μικρά διαμερίσματα Parquet, εφαρμόστε διαφορετικές στρατηγικές επαναδιαμερισματοποίησης και συγκρίνετε την απόδοση πριν και μετά τη βελτιστοποίηση
Module 7: Διαχείριση Μνήμης & Διαгностиση Αποτυχιών Pandas
- Κατανόηση των βασικών αιτιών σφαλμάτων out-of-memory στο Pandas και αναγνώριση των συμπτωμάτων
- Εφαρμογή μοτίβων μετατροπής που είναι αποδοτικά σε μνήμη μεταξύ Spark και Pandas
- Αποφυγή εκρήξεων μνήμης κατά την εγγραφή μεγάλων συνόλων δεδομένων σε CSV
- Χρήση επεξεργασίας σε κομμάτια (chunked processing) και βελτιστοποίηση dtype για περιορισμένα περιβάματα
- Πρακτική άσκηση: Αναπαράστε ένα τυπικό σενάριο out-of-memory του Pandas και επιλύστε το χρησιμοποιώντας chunking και βελτιστοποίηση dtype
Module 8: Polars ως Συμπληρωματικό Εργαλείο
- Τοποθέτηση του Polars σε σχέση με το Pandas: χαρακτηριστικά απόδοσης, καθυστερημένη εκτίμηση και συμπεριφορά μνήμης
- Κατανόηση του πού ταιριάζει το Polars μαζί με το PySpark και το Pandas στα σύγχρονα stacks δεδομένων cloud και στα διαδρομές μεταβασιμότητας, συμπεριλαμβανομένων των περιβάτων AWS
- Πρακτική άσκηση: Αναγράψτε έναν μετασχηματισμό που βασίζεται έντονα στο Pandas στο Polars και συγκρίνετε τη χρήση μνήμης και την ταχύτητα επεξεργασίας
Module 9: Εφαρμογή Βελτιστοποίησης σε Φορτία Εργασίας ETL & ML
- Εφαρμογή αρχών διαμόρφωσης, διαμερισματοποίησης και διαχείρισης μνήμης σε έναν ρεαλιστικό σωλήνα ETL
- Κατανόηση παραγόντων βελτιστοποίησης που αφορούν συγκεκριμένα φορτία machine learning που εκτελούνται στο ίδιο cluster
- Εφαρμογή μιας πρακτικής ροής ρύθμισης για τη συστηματική διάγνωση ζητημάτων κόστους και απόδοσης
- Πρακτική άσκηση: Ολοκληρώστε ένα mini-πρόγραμμα από άκρο σε άκρο που συνδυάζει φόρτωση δεδομένων, μετασχηματισμό και ένα απλό βήμα εκπαίδευσης μοντέλου, με τους συμμετέχοντες να ρυθμίζουν τη διαμόρφωση Spark μόνοι τους
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