用途:该技能为 Apache Spark 提供专家级辅助,覆盖 PySpark、Spark SQL、DataFrame 转换、广播连接与集群优化,适用于在单机或大规模分布式集群上执行数据工程、数据科学与机器学习任务,包括 PB 级分布式数据处理、Spark Structured Streaming 实时流管道、Delta Lake/Apache Iceberg/Apache Hudi 湖仓查询,以及分布式 SQL 与复杂分析聚合。
主要能力:Structured DataFrame 转换与窗口函数(如 running_total、lag、datediff);针对倾斜维度的广播连接优化;从 Kafka 读取的 Structured Streaming 与检查点;自适应查询执行(spark.sql.adaptive.enabled=true)等集群调优。
使用方式:通过 SparkSession.builder 创建会话并设置 spark.sql.shuffle.partitions 等配置;用 spark.read.parquet 读取云存储数据,经 groupBy/agg、Window 等转换后写出;小表连接使用 F.broadcast();流处理需指定 checkpointLocation。
限制与注意:避免对大数据集调用 collect(),优先写盘或 take(100);有原生 pyspark.sql.functions 时不用 Python UDF;注意小文件问题,可用 Delta Lake OPTIMIZE 或 coalesce。常见问题包括 Executor 堆内存溢出(增大 spark.executor.memory 或对倾斜键加盐)、YARN 容器超内存(增大 spark.yarn.executor.memoryOverhead 至 1GB+)、序列化结果超过 spark.driver.maxResultSize。具体收费、平台与版本支持暂未提供。