Использование SparkOptimizer для пользовательских оптимизаций

Я пытаюсь подключить несколько специально оптимизированных логических планов в SparkOptimizer и проверить, выполняются ли они.

У меня есть объект, который расширяет RuleExecutor: xyz.Scala в /spark/sql/catalyst/abc, который имеет «val-пакеты» с пользовательскими пакетами, как показано ниже:

Object xyz extends RuleExecutor{
val batches = Batch (custom rule1):: Batch(custom rule2) :: Batch(custom rule3) :: Nil
}

Я хочу, чтобы эти правила отражались при отправке примера приложения в Spark. Я читал об exerimental.extraOptimizations, но не знаю, как это реализовать в данном случае.


person Jeevan Srivatsa    schedule 04.12.2017    source источник


Ответы (1)


Я понял. Новые экспериментальные методы, появившиеся в версии 2.2.*, можно использовать, только если вам нужна индивидуальная оптимизация для конкретного приложения, а не для всех приложений, которые вы отправляете в spark. В моем случае мне пришлось включить все пользовательские пакеты в оптимизатор.Оптимизатор. Таким образом, правила объединяются с собственными правилами.

person Jeevan Srivatsa    schedule 15.12.2017