跳到正文
cccskills
免费在 GitHub 公开

spark-best-practices

Apache Spark 4.0.2 best practices for PySpark and Scala distributed data processing

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md1.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Apache Spark Best Practices

Version: Spark 4.0.2. Key changes from Spark 3.x: ANSI mode is now default (stricter SQL type coercion and overflow checks), and Spark Connect provides a decoupled client-server protocol for remote Spark access.

Performance Optimization

Broadcast Joins (CRITICAL)

  • Use broadcast(small_df) for small-large table joins
  • Default broadcast threshold: 10MB (spark.sql.autoBroadcastJoinThreshold)
  • Avoid broadcast for tables > 100MB

Shuffles (CRITICAL)

  • Minimize shuffles: expensive operations
  • Use coalesce() to reduce partitions without shuffle
  • Use repartition() only when necessary (causes shuffle)
  • Predicate pushdown: filter before joins

Caching

  • Cache DataFrames used multiple times: df.cache() or df.persist()
  • Choose storage level: MEMORY_ONLY, MEMORY_AND_DISK, DISK_ONLY
  • Unpersist when done: df.unpersist()

Resource Management

Executor Configuration

  • Executor memory: 80% of available memory per executor
  • Executor cores: 4-5 cores per executor (optimal)
  • Dynamic allocation: enable for varying workloads

Partitioning

  • Optimal partition size: 100-200MB
  • Too few partitions: underutilized cluster
  • Too many partitions: task overhead

Data Processing

UDFs

  • Prefer built-in functions over UDFs
  • Use Pandas UDF for vectorized operations
  • Avoid Python UDFs (serialization overhead)

Storage Formats

  • Parquet: default for analytics (columnar, compression)
  • ORC: alternative to Parquet
  • Delta/Iceberg: ACID transactions, time travel

References

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts

中文简介正在准备中。当前显示原文说明。

baekenough/second-brain152026年10月8日 更新

Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile

中文简介正在准备中。当前显示原文说明。

baekenough/second-brain152026年10月8日 更新

Adversarial code review using attacker mindset — trust boundary, attack surface, business logic, and defense evaluation

中文简介正在准备中。当前显示原文说明。

baekenough/second-brain152026年10月8日 更新

Apache Airflow best practices for DAG authoring, testing, and production deployment

中文简介正在准备中。当前显示原文说明。

baekenough/second-brain152026年10月8日 更新

Alembic migration patterns for naming conventions, safety checks, expand-contract, env.py configuration, and CI integration

中文简介正在准备中。当前显示原文说明。

baekenough/second-brain152026年10月8日 更新

Pre-routing ambiguity analysis — scores request clarity and asks clarifying questions when needed (inspired by ouroboros)

中文简介正在准备中。当前显示原文说明。

baekenough/second-brain152026年10月8日 更新

查看 baekenough 的全部技能

报告此技能的问题