Разница в написании приложений Spark - PullRequest
0 голосов
/ 03 октября 2018

Есть ли разница в производительности, если вы пишете приложения Spark через цепочки методов против SparkSQL?Я знаю, что написание кодов с использованием методов более гибко, но я не уверен насчет производительности между ними.

Пример:

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

против

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

1 Ответ

0 голосов
/ 03 октября 2018

Нет никакой разницы в производительности между

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

и

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

План искры, который генерируется для обоих случаев, одинаков.Из них выбор, который является полностью субъективным.

Вы можете проверить план искры, выполнив:

df.queryExecution.sparkPlan

Далее читайте о плане искры:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...