# PySpark Expert Agent

Субагент находит узкие места в распределённом коде PySpark, выявляет утечки памяти и предлагает нативные оптимизации. Пригодится при отладке медленных стадий и пакетной обработки.

- субагент · `type=agent` · GitHub Copilot · ★ 40451
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/agents/spark-performance.agent.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/agents/pyspark-expert-agent

## Что делает

Субагент анализирует код PySpark и выявляет проблемы параллелизма. Он находит сбор данных на драйвер через `collect()`, лишние перетасовки (shuffle) и падение скорости из-за построчных Python UDF. Если вычисления зависают, агент проверяет признаки перекоса ключей (skew) и сброса промежуточных данных на диск (spill).

Вместо перехода на `.rdd` субагент предлагает нативные функции Spark SQL или датафреймов. Если логику нельзя выразить штатными средствами, он подбирает векторизованные методы: `pandas_udf`, `applyInPandas` либо `mapInPandas`. Для `mapInPandas` агент напоминает настроить размер пачки через `spark.sql.execution.arrow.maxRecordsPerBatch`. Итоги проверки сохраняются в отчёт `docs/code-review/[date]-[component]-pyspark-code-verdict.md`.

Агент не выдумывает метрики спарка. Без вывода `df.explain()` или данных Spark UI о стадиях выполнения он ограничивается статическим анализом кода и запрашивает недостающие подтверждения.

## Установка

### GitHub Copilot (родная платформа)

**Вручную: положить файлы**
- Файл: `.github/agents/spark-performance.agent.md`

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/agents/spark-performance.md` — Для всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию. Поле tools у Copilot перечисляет инструменты по-своему — уберите его или перепишите под Claude Code

### Codex

**Вручную: положить файлы**
- Файл: `.codex/agents/spark-performance.toml` — Codex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/agents/spark-performance.md` — Cursor понимает и .claude/agents/

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/agents/spark-performance.agent.md

## Когда брать
- найти утечки памяти и неубранные датафреймы
- заменить медленные конвертации в RDD на нативные операции Spark
- устранить сбор данных на драйвер через `collect()`
- подобрать векторизованный метод вроде `mapInPandas` вместо построчного UDF

## Примеры запросов агенту
- Проверь этот пайплайн на перекос данных и лишний shuffle: [код]
- Помоги переписать groupBy с логикой pandas на `applyInPandas` или оконные функции
- Найди в скрипте вызовы, которые случайно сериализуют вычисления на драйвере

## Похожие
- [spark-optimization](https://affpapa.org/nevibecode/skills/spark-optimization.md) — скилл · 10700 установок
- [caveman-optimize](https://affpapa.org/nevibecode/skills/caveman-optimize.md) — скилл · 105800 установок
- [data-engineer](https://affpapa.org/nevibecode/agents/data-engineer.md) — субагент · 3194 установки
- [code-reviewer](https://affpapa.org/nevibecode/agents/anthropic-code-reviewer.md) — субагент · 31050 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/code-reviewer.md) — субагент · 31050 установок
- [security-auditor](https://affpapa.org/nevibecode/agents/security-auditor.md) — субагент · 10718 установок
- [test-engineer](https://affpapa.org/nevibecode/agents/test-engineer.md) — субагент · 9715 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/voltagent-community-code-reviewer.md) — субагент · 31050 установок

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 949 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
