【spark】dataframe慎用limit

官方:limit通常和order by一起使用,保证结果是确定的

limit 会有两个步骤:

  1. LocalLimit ,发生在每个partition
  2. GlobalLimit,发生shuffle,聚合到一个parttion

当提取的n大时,第二步是比较耗时的

复制代码
== Physical Plan ==
Execute InsertIntoHadoopFsRelationCommand (5)
+- * GlobalLimit (4)
   +- Exchange (3)
      +- * LocalLimit (2)
         +- Scan csv  (1)

如果对取样顺序没有要求,可用tablesample替代,使用详解

复制代码
== Physical Plan ==
Execute InsertIntoHadoopFsRelationCommand (3)
+- * Sample (2)
   +- Scan csv  (1)

参考

官方
Stop using the LIMIT clause wrong with Spark
DataFrame orderBy followed by limit in Spark

相关推荐
人道领域2 分钟前
AI抢人大战:谁在收割你的红包
大数据·人工智能·算法
qq_124987075324 分钟前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
Hello.Reader29 分钟前
Flink 使用 Amazon S3 读写、Checkpoint、插件选择与性能优化
大数据·flink
零售ERP菜鸟1 小时前
范式革命:从“信息化”到“数字化”的本质跃迁
大数据·人工智能·职场和发展·创业创新·学习方法·业界资讯
Hello.Reader1 小时前
Flink 对接 Google Cloud Storage(GCS)读写、Checkpoint、插件安装与生产配置指南
大数据·flink
浪子小院2 小时前
ModelEngine 智能体全流程开发实战:从 0 到 1 搭建多协作办公助手
大数据·人工智能
Coder_Boy_3 小时前
基于Spring AI的分布式在线考试系统-事件处理架构实现方案
人工智能·spring boot·分布式·spring
AEIC学术交流中心3 小时前
【快速EI检索 | ACM出版】2026年大数据与智能制造国际学术会议(BDIM 2026)
大数据·制造
wending-Y3 小时前
记录一次排查Flink一直重启的问题
大数据·flink
UI设计兰亭妙微3 小时前
医疗大数据平台电子病例界面设计
大数据·界面设计