编写Spark应用程序的区别

时间:2018-10-03 01:33:06

标签: apache-spark pyspark apache-spark-sql

如果通过方法链与SparkSQL编写Spark应用程序,性能是否有所不同?我知道使用方法编写代码更加灵活,但我不确定两者之间的性能。

示例:

spark.select().filter().etc....

spark.sql("<insert query here>")

1 个答案:

答案 0 :(得分:1)

两者之间的性能没有差异

df.select($"some_col").filter($"filter_col" === "somevalue")

spark.sql("select some_col from some_table where filter_col = 'somevalue'")

两种情况下生成的火花计划是相同的。在这些之中,选择完全是主观的。

您可以通过运行以下命令检查火花计划:

df.queryExecution.sparkPlan

进一步阅读Spark计划:

https://dzone.com/articles/understanding-optimized-logical-plan-in-spark https://databricks.com/blog/2015/04/13/deep-dive-into-spark-sqls-catalyst-optimizer.html