Toolverse
All skills

spark-optimization

by wshobson

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

Quick info

Author
wshobson
Category
DevOps
Views
27

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

  1. Zainstaluj skill spark-optimization w swoim środowisku agenta, dodając go do konfiguracji pluginów data-engineering.

  2. 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).

  3. Skonfiguruj serializator Kryo zamiast domyślnego — zmniejsza narzut CPU i przyspieszą transmisję danych między executorami.

  4. 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.

  5. Wczytaj dane z optymalnymi ustawieniami i zastosuj transformacje — skill automatycznie minimalizuje operacje shuffle'a i równoważy obciążenie między taskami.

  6. 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.

Related skills