【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

相关推荐
一叶飘零_sweeeet37 分钟前
从手写 Redis 分布式锁到精通 Redisson:分布式系统的并发控制终极指南
redis·分布式·redisson
深空数字孪生1 小时前
储能调峰新实践:智慧能源平台如何保障风电消纳与电网稳定?
大数据·人工智能·物联网
百胜软件@百胜软件2 小时前
胜券POS:打造智能移动终端,让零售智慧运营触手可及
大数据
摩羯座-185690305943 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
在未来等你3 小时前
Kafka面试精讲 Day 13:故障检测与自动恢复
大数据·分布式·面试·kafka·消息队列
jiedaodezhuti3 小时前
Flink通讯超时问题深度解析:Akka AskTimeoutException解决方案
大数据·flink
庄小焱3 小时前
大数据存储域——Kafka实战经验总结
大数据·kafka·大数据存储域
cui_win4 小时前
基于Golang + vue3 开发的 kafka 多集群管理
分布式·kafka
iiYcyk4 小时前
kafka特性和原理
分布式·kafka
zskj_qcxjqr5 小时前
告别传统繁琐!七彩喜艾灸机器人:一键开启智能养生新时代
大数据·人工智能·科技·机器人