spark-optimization
Optimize Apache Spark jobs with partitioning, caching, shuffle optimization, and memory tuning. Use when improving Spark performance, debugging slow jobs, or scaling data processing pipelines.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Optimize Apache Spark jobs with partitioning, caching, shuffle optimization, and memory tuning. Use when improving Spark performance, debugging slow jobs, or scaling data processing pipelines.
How to use
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.