官方:limit通常和order by一起使用,保证结果是确定的
limit 会有两个步骤:
- LocalLimit ,发生在每个partition
- GlobalLimit,发生shuffle,聚合到一个parttion
当提取的n大时,第二步是比较耗时的
== Physical Plan ==
Execute InsertIntoHadoopFsRelationCommand (5)
+- * GlobalLimit (4)
+- Exchange (3)
+- * LocalLimit (2)
+- Scan csv (1)
如果对取样顺序没有要求,可用tablesample替代,使用详解。文章来源:https://www.toymoban.com/news/detail-691486.html
== 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文章来源地址https://www.toymoban.com/news/detail-691486.html
到了这里,关于【spark】dataframe慎用limit的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!