К основному содержанию
скилл Claude Code CX Codex Cursor

spark-optimization — скилл для Claude Code: Spark

Скилл помогает разбирать медленные задания Apache Spark и настраивать партиционирование, кэширование, shuffle и память. Подойдёт для пайплайнов обработки данных.

Установить в Claude Code · Через маркетплейс плагинов Все способы и платформы ↓
/plugin marketplace add wshobson/agents
/plugin install data-engineering@claude-code-workflows
Открыть на GitHub

Что делает spark-optimization

spark-optimization разбирает узкие места в заданиях Apache Spark: лишний shuffle, перекос данных, неудачное число партиций, давление на память и лишние UDF. Он подсказывает, как применять AQE, broadcast join, встроенные функции и колоночные форматы Parquet или Delta.

Внутри есть схема выполнения Spark, пример настройки SparkSession для PySpark и практические рекомендации по мониторингу Spark UI. Подробные шаблоны вынесены в references/details.md. Скилл стоит поставить, если вы отлаживаете медленные задания или масштабируете пайплайн; для проектов без Apache Spark он не нужен.

Какие задачи решает

  • найти причины медленного задания Spark
  • настроить партиционирование для параллельной обработки
  • снизить shuffle и перекос данных
  • подобрать настройки памяти и executor
  • заменить лишние UDF встроенными функциями

Примеры запросов агенту

  • Разбери медленное задание Apache Spark и предложи, где уменьшить shuffle.
  • Проверь этот PySpark-пайплайн: нужны ли кэширование, broadcast join и настройка партиций?
  • Настрой SparkSession для чтения Parquet и агрегации данных без лишнего collect.

Как установить spark-optimization

1Через маркетплейс плагинов

/plugin marketplace add wshobson/agents
/plugin install data-engineering@claude-code-workflows

Команда ставит плагин data-engineering целиком, со всеми его скиллами

2Через Skills CLI (Vercel)

npx skills add wshobson/agents --skill spark-optimization -a claude-code

3Вручную: положить файлы

~/.claude/skills/spark-optimization/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/spark-optimization/

Из того же набора213

Весь набор →
typescript-advanced-types Seth Hobson Помогает агенту писать сложную типизацию TypeScript: generics, conditional types и преобразования типов. Нужен для библиотек, API-клиентов и строгих конфигураций. Claude Code CX Codex Cursor 92 169установок tailwind-design-system Seth Hobson Помогает строить дизайн-системы на Tailwind CSS v4. Пригодится для библиотеки компонентов или унификации интерфейса в проекте. Claude Code CX Codex Cursor 70 180установок brand-landingpage Travis D. Elliott Скилл проводит интервью о продукте и визуальном стиле, затем помогает создать лендинг через Stitch. Подойдёт, если у проекта пока нет готового дизайна. Claude Code CX Codex Cursor 39 476установок python-testing-patterns Seth Hobson Скилл помогает писать тесты Python с pytest, фикстурами и моками. Подходит для настройки тестового набора и отладки падающих проверок. Claude Code CX Codex Cursor 36 943установок python-performance-optimization Seth Hobson Скилл помогает профилировать Python-код, находить узкие места CPU и памяти. Подходит, когда приложение медленно отвечает или тратит слишком много ресурсов. Claude Code CX Codex Cursor 35 675установок nextjs-app-router-patterns Seth Hobson Помогает строить приложения на Next.js App Router: выбирать режим рендеринга, организовывать маршруты и получать данные. Подойдёт при миграции с Pages Router или работе с Server Components. Claude Code CX Codex Cursor 32 529установок api-design-principles Seth Hobson Скилл помогает проектировать и проверять REST- и GraphQL API. Пригодится при подготовке спецификации, пересмотре существующего API или согласовании стандартов команды. Claude Code CX Codex Cursor 30 348установок code-review-excellence Seth Hobson Скилл помогает разбирать pull request по этапам, находить ошибки и давать конкретную обратную связь. Подойдёт для ревью кода и настройки командных стандартов. Claude Code CX Codex Cursor 30 193установок

Похожие

prisma-client-api prisma Справочник по Prisma Client API для написания запросов к БД, CRUD-операций и фильтрации. Срабатывает на упоминания findMany, create, update, delete и транзакций. Claude Code CX Codex Cursor +1 389 500установок prisma-cli prisma Справочник по командам Prisma ORM 7 для ИИ-агентов. Помогает запускать миграции, генерировать клиент и безопасно работать с базой данных без случайного сброса данных. Claude Code CX Codex Cursor +1 386 800установок prisma-postgres prisma Устаревший скилл, перенаправляющий на prisma-postgres-setup. Используйте его только если явно вызывается по имени; в новых проектах выбирайте prisma-postgres-setup. Claude Code CX Codex Cursor +1 380 400установок prisma-postgres-setup prisma Подключает Prisma Postgres к проекту или создаёт временную базу данных без регистрации. Пригодится, когда приложению нужна база с нуля или через Vercel Marketplace. Claude Code CX Codex Cursor +1 374 900установок xlsx официальный anthropics Работает с табличными файлами: создаёт, читает, правит и преобразует книги. Подходит, когда итогом должен стать файл Excel или другой табличный формат. Claude Code Claude.ai 187 223установок google-agents-cli-observability официальный Google Помогает настроить трассировку и сбор данных о работе ИИ-агентов, включая агентов на ADK. Пригодится, когда нужно разбирать выполнение запросов или наблюдать за агентом после развёртывания. Claude Code CX Codex Cursor +1 509 900установок caveman-evidence-review JuliusBrussee Скилл читает данные Caveman Cloud о расходах LLM, трассах и маршрутизации. Подходит для проверки того, куда уходит бюджет проекта. Claude Code CX Codex Cursor +1 103 500установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. Claude Code CX Codex Cursor +1 102 900установок

Вопросы о spark-optimization

Как установить spark-optimization в Claude Code?

Выполните npx skills add wshobson/agents --skill spark-optimization -a claude-code. Файл скилла появится по пути ~/.claude/skills/spark-optimization/SKILL.md.

Что делает spark-optimization?

Скилл помогает оптимизировать задания Apache Spark: уменьшать shuffle, учитывать перекос данных, настраивать партиции и память, а также выбирать подходы для join и сериализации.

Какие технологии рассматривает spark-optimization?

В материалах есть PySpark, Spark UI, AQE, Parquet, Delta и KryoSerializer. Отдельно разобраны кэширование и адаптивное объединение партиций.

Исходный текст

SKILL.md · MIT
---
name: spark-optimization
description: 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.
---

# Apache Spark Optimization

Production patterns for optimizing Apache Spark jobs including partitioning strategies, memory management, shuffle optimization, and performance tuning.

## When to Use This Skill

- Optimizing slow Spark jobs
- Tuning memory and executor configuration
- Implementing efficient partitioning strategies
- Debugging Spark performance issues
- Scaling Spark pipelines for large datasets
- Reducing shuffle and data skew

## Core Concepts

### 1. Spark Execution Model

```
Driver Program
    ↓
Job (triggered by action)
    ↓
Stages (separated by shuffles)
    ↓
Tasks (one per partition)
```

### 2. Key Performance Factors

| Factor            | Impact                | Solution                      |
| ----------------- | --------------------- | ----------------------------- |
| **Shuffle**       | Network I/O, disk I/O | Minimize wide transformations |
| **Data Skew**     | Uneven task duration  | Salting, broadcast joins      |
| **Serialization** | CPU overhead          | Use Kryo, columnar formats    |
| **Memory**        | GC pressure, spills   | Tune executor memory          |
| **Partitions**    | Parallelism           | Right-size partitions         |

## Quick Start

```python
from pyspark.sql import SparkSession
from pyspark.sql import functions as F

# Create optimized Spark session
spark = (SparkSession.builder
    .appName("OptimizedJob")
    .config("spark.sql.adaptive.enabled", "true")
    .config("spark.sql.adaptive.coalescePartitions.enabled", "true")
    .config("spark.sql.adaptive.skewJoin.enabled", "true")
    .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
    .config("spark.sql.shuffle.partitions", "200")
    .getOrCreate())

# Read with optimized settings
df = (spark.read
    .format("parquet")
    .option("mergeSchema", "false")
    .load("s3://bucket/data/"))

# Efficient transformations
result = (df
    .filter(F.col("date") >= "2024-01-01")
    .select("id", "amount", "category")
    .groupBy("category")
    .agg(F.sum("amount").alias("total")))

result.write.mode("overwrite").parquet("s3://bucket/output/")
```

## Detailed patterns and worked examples

Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient.

## Best Practices

### Do's

- **Enable AQE** - Adaptive query execution handles many issues
- **Use Parquet/Delta** - Columnar formats with compression
- **Broadcast small tables** - Avoid shuffle for small joins
- **Monitor Spark UI** - Check for skew, spills, GC
- **Right-size partitions** - 128MB - 256MB per partition

### Don'ts

- **Don't collect large data** - Keep data distributed
- **Don't use UDFs unnecessarily** - Use built-in functions
- **Don't over-cache** - Memory is limited
- **Don't ignore data skew** - It dominates job time
- **Don't use `.count()` for existence** - Use `.take(1)` or `.isEmpty()`

© Seth Hobson · MIT · wshobson/agents

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой