spark-optimization
Przyspieszaj zadania Apache Spark dzięki optymalizacji partycjonowania, cache'owania i tuningowi pamięci
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do optymalizacji wydajności zadań Apache Spark w produkcji. Zawiera strategie partycjonowania, zarządzanie pamięcią, optymalizację shuffle'a i tuning wydajności. Użyj go gdy chcesz przyspieszyć wolne zadania Spark, debugować problemy z wydajnością, skalować potoki przetwarzania danych lub zmniejszać shuffle i skośność danych. Obejmuje konfigurację sesji Spark z adaptacyjnym wykonywaniem, serializacją Kryo i inteligentnym łączeniem partycji.
Jak używać
Zainstaluj skill spark-optimization w swoim środowisku agenta, dodając go do konfiguracji pluginów data-engineering.
Zainicjuj sesję Spark z optymalnymi ustawieniami — włącz adaptacyjne wykonywanie zadań (spark.sql.adaptive.enabled), łączenie partycji (spark.sql.adaptive.coalescePartitions.enabled) i detekcję skośności danych (spark.sql.adaptive.skewJoin.enabled).
Skonfiguruj serializator Kryo zamiast domyślnego — zmniejsza narzut CPU i przyspieszą transmisję danych między executorami.
Dostosuj liczbę partycji shuffle'a (spark.sql.shuffle.partitions) do rozmiaru klastra i dostępnej pamięci — domyślnie 200 partycji, ale zmień na podstawie liczby executorów i wielkości danych.
Wczytaj dane z optymalnymi ustawieniami i zastosuj transformacje — skill automatycznie minimalizuje operacje shuffle'a i równoważy obciążenie między taskami.
Monitoruj wykonywanie zadania w Spark UI — sprawdzaj czas shuffle'a, rozmiary partycji i wykorzystanie pamięci, aby zidentyfikować wąskie gardła i dalsze możliwości optymalizacji.