PySpark Fundamentals
v4.1 — Edycja 2026. Kompleksowy przewodnik po PySpark 4.1, obejmujący Spark Connect, DataFrames, złożone typy danych, transformacje danych, SQL, UDFs oraz profilowanie.
Odcinki
Problem Big Data i obietnica PySpark
4m 02sUzasadniamy fundamentalną potrzebę korzystania z PySpark. Odkryj, dlaczego standardowe biblioteki Python, takie jak Pandas, zawodzą przy dużej skali i w jaki sposób PySpark zapewnia rozproszony silnik wykonawczy do płynnego przetwarzania ogromnych zbiorów danych.
Rewolucja Spark Connect
3m 56sPoznaj architekturę Spark Connect. Wyjaśniamy, w jaki sposób PySpark oddzielił klienta od serwera, pozwalając na uruchamianie aplikacji Spark w dowolnym miejscu bez uciążliwych zależności JVM.
DataFrames i leniwa ewaluacja
4m 25sZanurz się w fundamentalną abstrakcję PySpark: DataFrame. Omawiamy koncepcję leniwej ewaluacji, różnicę między transformacjami a akcjami oraz powody, dla których Spark planuje przed wykonaniem.
Tworzenie i przeglądanie DataFrames
3m 51sDowiedz się, jak tworzyć instancje DataFrames z surowych obiektów Python, słowników i plików, oraz jak bezpiecznie badać rozproszone dane bez powodowania awarii węzła sterującego.
Opanowanie podstawowych typów danych
4m 25sPrzegląd podstawowych typów liczbowych i tekstowych w PySpark. Badamy, jak jawnie definiować schematy przy użyciu StructType i StructField dla solidnych potoków danych.
Niebezpieczeństwa związane z precyzją
4m 26sOdkryj kluczowe różnice między FloatType, DoubleType i DecimalType. Dowiedz się, dlaczego wybór niewłaściwego typu liczbowego może wprowadzić katastrofalne błędy zaokrągleń w danych finansowych.
Poskramianie złożonych i zagnieżdżonych danych
4m 14sBig data nie zawsze są płaskie. Odkrywamy złożone typy danych PySpark, w tym ArrayType, StructType i MapType, które pozwalają na natywne parsowanie głęboko zagnieżdżonych plików JSON.
Rzutowanie typów i selekcja
4m 17sDowiedz się, jak aktywnie kształtować schematy DataFrame. Omawiamy, jak wybierać podzbiory kolumn oraz jak bezpiecznie rzutować kolumny z jednego typu danych na inny.
Skrzyżowanie funkcji: Czyszczenie brudnych danych
3m 54sŚmieci na wejściu, śmieci na wyjściu. Poznaj niezbędne transformacje DataFrame do usuwania wartości null, wypełniania brakujących danych i natywnej obsługi rekordów NaN w systemach rozproszonych.
Transformacja i zmiana kształtu danych
3m 54sPrzejmij kontrolę nad kształtem swoich danych. Odkrywamy, jak generować nowe kolumny za pomocą funkcji matematycznych, wykonywać operacje na ciągach znaków i spłaszczać zagnieżdżone tablice przy użyciu explode().
Mechanika grupowania i agregacji
3m 37sOpanuj strategię split-apply-combine. Zagłębiamy się w grupowanie danych według kluczy i stosowanie potężnych funkcji agregujących do podsumowywania ogromnych zbiorów danych.
Kiedy DataFrames się zderzają: Sztuka łączenia
3m 37sPoruszanie się po niuansach łączenia zbiorów danych. Rozkładamy na czynniki pierwsze siedem różnych typów join w PySpark i wyjaśniamy, jak bezpiecznie scalać DataFrames.
Stary SQL, nowe sztuczki
3m 33sPo co uczyć się nowego API, skoro można użyć surowego SQL? Dowiedz się, jak wykonywać standardowe zapytania SQL bezpośrednio na rozproszonych DataFrames w PySpark.
Wymienność DataFrames i SQL
3m 49sPłynnie łącz SQL z językiem Python. Odkryj, jak tworzyć tymczasowe widoki z DataFrames, używać selectExpr i łączyć programistyczne operacje z wynikami zapytań SQL.
Rozszerzanie Spark za pomocą Python UDFs
4m 17sGdy wbudowane funkcje nie wystarczają, do akcji wkraczają User-Defined Functions. Odkrywamy, jak pisać niestandardową logikę Python dla DataFrames i dlaczego standardowe skalarne UDFs ukrywają spadek wydajności.
Turbodoładowanie UDFs z Apache Arrow
3m 38sWyeliminuj wąskie gardło serializacji między JVM a językiem Python. Odkrywamy, jak Vectorized Pandas UDFs i formaty pamięci Apache Arrow niesamowicie przyspieszają Twoje niestandardowe transformacje.
Eksplozja wierszy z Python UDTFs
4m 04sStandardowe UDFs zwracają jedną wartość na wiersz, ale co, jeśli potrzebujesz wielu wierszy? Dowiedz się, jak Python User-Defined Table Functions (UDTFs) rozwiązują złożone problemy generowania relacji jeden-do-wielu.
Pandas API w Spark
3m 53sSkaluj swoje istniejące skrypty Pandas w nieskończoność. Odkryj, jak pyspark.pandas API pozwala na natywne wykonywanie standardowej składni Pandas w rozproszonym klastrze Spark.
Wczytaj i podziwiaj: Formaty przechowywania
4m 01sNie wszystkie formaty plików są sobie równe. Zestawiamy oparte na wierszach pliki CSVs z formatami kolumnowymi, takimi jak Parquet i ORC, badając opcje odczytu/zapisu oraz optymalne techniki przechowywania.
Pogromcy błędów: Plany fizyczne i złączenia
3m 18sZajrzyj pod maskę silnika wykonawczego Spark. Dowiedz się, jak debugować zapytania za pomocą DataFrame.explain() i jak wyeliminować kosztowne przetasowania używając Broadcast joins.
Profilowanie pamięci i wydajności w PySpark
4m 00sKończymy naszą podróż z PySpark, wprowadzając natywne narzędzia do profilowania. Dowiedz się, jak śledzić zużycie pamięci linijka po linijce i ujawniać ukryte wewnętrzne ślady błędów w języku Python.