What problem does it solve? Writing and tuning Apache Spark jobs is error-prone: default shuffle partitions cause slowdowns, data skew creates straggler tasks, and improper caching leads to out-of-memory failures. This Skill provides expert guidance for building production-grade Spark applications with correct partitioning, join strategies, and performance tuning. ## Core Features & Use Cases - Pipeline Implementation: Write PySpark or Scala DataFrame transformations, RDD operations, and Spark SQL queries with explicit schemas and optimized patterns. - Performance Optimization: Tune shuffle partitions, executor memory, broadcast joins, and handle data skew with salting or Adaptive Query Execution. - Structured Streaming: Build streaming pipelines with watermarks, windowed aggregations, stateful operations, and Kafka or Delta Lake sinks. - Use Case: A data engineer needs to join a 100GB fact table with a 50MB dimension table and aggregate results. The Skill recommends a broadcast join, sets appropriate shuffle partitions, and provides the complete optimized PySpark code. ## Quick Start Ask the assistant to write an optimized PySpark job that reads Parquet files, joins them with a small lookup table, and aggregates results by user.