哪一个更快?sparksql的where子句还是在sparksql之后的dataframe中使用filter?类似于从表1中选择col1,col2,其中col1=val;或dataframe df=sqlcontext.sql(从tab 1中选择col1、col2);df.filter(“col1=val”);
dl5txlt91#
使用 explain 查看物理计划的方法是确定性能的好方法。例如,齐柏林飞艇教程笔记本。
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 在这种情况下更具可读性。
select age, job from bank where age = 30
1条答案
按热度按时间dl5txlt91#
使用
explain
查看物理计划的方法是确定性能的好方法。例如,齐柏林飞艇教程笔记本。
以及
有完全相同的物理计划。
因此性能应相同。
我想是的
select age, job from bank where age = 30
在这种情况下更具可读性。