DAG создается, когда мы выполняем операции над фреймами данных? - PullRequest
0 голосов
/ 26 января 2019

Я видел, как DAG генерировался всякий раз, когда мы выполняли какие-либо операции с RDD, но что происходит, когда мы выполняем операции с нашим фреймом данных?

При выполнении нескольких операций над фреймом данных они лениво оцениваются так же, как RDD?

Когда оптимизатор катализатора входит в картину?

Я как-то запутался между ними. Если кто-то сможет пролить свет на эти темы, это будет очень полезно.

Спасибо

Ответы [ 2 ]

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

СДР является строительным блоком искры.Независимо от того, какую абстракцию Dataframe или Dataset мы используем, внутренне окончательное вычисление выполняется на RDD.

, т. Е. - когда вы выполняете операцию с Dataframes, в это время также создается DAG.

ниже ссылка полезна https://medium.com/@thejasbabu/spark-dataframes-10c349de04c

для оптимизатора катализатора

enter image description here

Для получения дополнительной информации перейдите по ссылке ниже https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781783987061/4/ch04lvl1sec31/understanding-the-catalyst-optimizer

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

Каждая операция на Dataset, несмотря на режим непрерывной обработки, преобразуется в последовательность операций на внутреннем RDDs.Поэтому концепция DAG во всех отношениях применима.

В силу этого выполнение в основном ленивое, хотя, как всегда, существуют исключения, и оно более распространено в Dataset API, чем в чистом RDD API.

Наконец, Catalyst отвечает за преобразование Dataset вызовов API в логический, оптимизированный логический и физический план выполнения и, наконец, за генерацию кода, который будет выполняться заданиями.

...