В чем разница между двумя методами в соединении двух фреймов данных Pyspark - PullRequest
0 голосов
/ 18 декабря 2018

В чем разница между двумя способами объединения двух фреймов данных Pyspark.1. Использование «createOrReplaceTempView» на обоих кадрах данных и использование sparkSession.sql ().2. Использование dataframe.alias () на обоих фреймах, а затем метод join ()

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Просто добавлю к ранее хорошему ответу.В Spark SQL ваши синтаксические ошибки ловятся во время выполнения .. тогда как, если вы используете метод dataframe.Это можно поймать во время компиляции.Следовательно, сэкономьте время при создании кода приложения spark.

0 голосов
/ 18 декабря 2018

Без разницы, если вы не дадите никаких подсказок или оптимизаций в своем коде API SQL или DataFrame.Вы можете написать операции соединения, используя DataFrame или SQL API, операции будут проходить через тот же оптимизатор катализатора и преобразовываться в план выполнения.

enter image description here

Физический план, часто называемый планом Spark, определяет, как логический план будет выполняться в кластере, генерируя различные физические стратегии выполнения и сравнивая их с помощью модели затрат.

Физическое планирование приводит к серии RDD и преобразований.Это результат того, почему вы, возможно, слышали, что Spark называют компилятором - он принимает запросы в DataFrames, наборах данных и SQL и компилирует их в преобразования RDD для вас .

...