spark-optimization
Mejorar el Rendimiento de Spark para Pipelines Grandes
Los trabajos lentos de Spark desperdician tiempo del cluster y retrasan los análisis. Esta habilidad proporciona patrones probados de ajuste para particionamiento, caché, uniones y memoria para mejorar el rendimiento.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "spark-optimization". Suggest Spark optimizations for a slow join and high shuffle spill.
Résultat attendu:
- Enable AQE and skew join handling to split hot partitions.
- Broadcast the small dimension table to avoid shuffle on that side.
- Lower shuffle partition size and enable compression to reduce spill.
Utilisation de "spark-optimization". How do I optimize partitioning for 500GB of daily data?
Résultat attendu:
- Target 128-256 MB per partition for balanced parallelism.
- For 500GB, use roughly 2000-4000 partitions initially.
- Adjust based on actual task duration in Spark UI.
- Consider partitionBy on date columns for pruneable reads.
Utilisation de "spark-optimization". My cache is not improving performance. What am I doing wrong?
Résultat attendu:
- Ensure you call count() or an action to materialize the cache.
- Check that you are reusing the DataFrame multiple times.
- Verify the DataFrame fits in memory without excessive spilling.
- Use unpersist() when done to free memory for other operations.
Audit de sécurité
SûrPure documentation skill containing only markdown content with Apache Spark tuning guidance. No executable code, credential access, network calls, or malicious patterns detected. All 43 static findings are false positives triggered by misidentified Spark terminology.
Facteurs de risque
🌐 Accès réseau (4)
⚙️ Commandes externes (23)
Score de qualité
Ce que vous pouvez construire
Reducir tiempo de trabajo nocturno
Analizar un pipeline por lotes lento y obtener pasos de ajuste para particiones, uniones y caché.
Corregir uniones asimétricas
Aplicar guía de AQE y salting para eliminar tareas de larga duración.
Estandarizar configuraciones de Spark
Crear una configuración base de ejecutor y shuffle para nuevos clusters.
Essayez ces prompts
Mi trabajo de Spark tarda 2 horas y usa groupBy en tablas grandes. Sugerir victorias rápidas para particiones, caché y uniones.
Proceso 1 TB de datos parquet diariamente. Recomendar conteo de particiones y tamaños de archivos, y explicar cómo ajustar las particiones de shuffle.
Una unión en customer_id tiene algunas claves calientes y tareas largas. Proporcionar configuraciones de AQE y un enfoque manual de salting.
Usamos ejecutores de 8g y vemos derrames frecuentes. Proponer configuraciones de memoria, overhead y shuffle con justificación.
Bonnes pratiques
- Usar AQE y monitorear Spark UI para asimetría y derrames.
- Apuntar a tamaños de partición de 128 a 256 MB para paralelismo equilibrado.
- Preferir funciones integradas sobre UDFs para mejor optimización.
Éviter
- Recolectar conjuntos de datos grandes al driver.
- Sobrecachar múltiples DataFrames grandes sin unpersist.
- Usar shuffles amplios para agregados simples sin pre-agregación.
Foire aux questions
¿Es esto compatible con PySpark y Spark SQL?
¿Cuáles son los límites de las recomendaciones?
¿Puede integrarse con Databricks o EMR?
¿Accede a mis datos o cluster?
¿Y si el rendimiento no mejora?
¿Cómo se compara con consejos de ajuste genéricos?
Détails du développeur
Auteur
wshobsonLicence
MIT
Dépôt
https://github.com/wshobson/agents/tree/main/plugins/data-engineering/skills/spark-optimizationRéf
main
Structure de fichiers
📄 SKILL.md