Использование SparkOptimizer для пользовательских оптимизаций
Я пытаюсь подключить несколько оптимизированных пользователем логических планов в SparkOptimizer и проверить, выполняются ли они.
У меня есть объект, который расширяет RuleExecutor: xyz.Scala в /spark/sql/ Catalyst/ ABC, который имеет "Val Batch" с пользовательскими пакетами, как показано ниже:
Object xyz extends RuleExecutor{
val batches = Batch (custom rule1):: Batch(custom rule2) :: Batch(custom rule3) :: Nil
}
Я хочу, чтобы эти правила были отражены при отправке примера приложения в Spark. Я читал об exerimental.extraOptimizations, но я не уверен, как реализовать это в этом случае.
1 ответ
Я понял. Новые экспериментальные методы, которые поставляются с V 2.2.*, Могут использоваться, только если вам нужна пользовательская оптимизация для конкретного приложения, а не для всех приложений, которые вы отправляете в spark. В моем случае мне пришлось включить все пользовательские пакеты в оптимизатор. Оптимизатор. Таким образом, правила объединены с нативными правилами.