哪一个更快?sparksql与where子句或在sparksql之后的dataframe中使用filter

but5z9lq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(309)

哪一个更快?sparksql的where子句还是在sparksql之后的dataframe中使用filter?
类似于从表1中选择col1,col2,其中col1=val;

dataframe df=sqlcontext.sql(从tab 1中选择col1、col2);
df.filter(“col1=val”);

dl5txlt9

dl5txlt91#

使用 explain 查看物理计划的方法是确定性能的好方法。
例如,齐柏林飞艇教程笔记本。

sqlContext.sql("select age, job from bank").filter("age = 30").explain

以及

sqlContext.sql("select age, job from bank where age = 30").explain

有完全相同的物理计划。

== Physical Plan ==
Project [age#5,job#6]
+- Filter (age#5 = 30)
   +- Scan ExistingRDD[age#5,job#6,marital#7,education#8,balance#9]

因此性能应相同。
我想是的 select age, job from bank where age = 30 在这种情况下更具可读性。

相关问题