哪一个更快?使用Where子句的Spark SQL或在Spark SQL之后使用Dataframe中的Filter

Bip*_*ath 6 hadoop apache-spark

哪一个更快?使用Where子句的Spark SQL或在Spark SQL之后使用Dataframe中的Filter?

比如选择col1,col2来自tab 1,其中col1 = val;

要么

dataframe df = sqlContext.sql(从选项卡1中选择col1,col2);

df.filter( "Col1中= VAL");

Roc*_*ang 18

使用explain方法查看物理计划是确定性能的好方法.

例如,Zeppelin Tutorial笔记本.

sqlContext.sql("select age, job from bank").filter("age = 30").explain
Run Code Online (Sandbox Code Playgroud)

sqlContext.sql("select age, job from bank where age = 30").explain
Run Code Online (Sandbox Code Playgroud)

具有完全相同的物理计划.

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

所以表现应该是一样的.

通过我认为select age, job from bank where age = 30在这种情况下更具可读性.