Что такое оптимизация отжима фильтра?

#sql #algorithm #apache-spark #data-structures #data-science

Вопрос:

Не могли бы вы привести несколько примеров?

Ответ №1:

Во-первых, найдите здесь правильное определение для «Фильтрация».:

Одним из способов предотвращения загрузки данных, которые на самом деле не нужны, является принудительное удаление фильтра (иногда также называемое принудительным удалением предикатов), которое позволяет выполнять определенные фильтры в источнике данных до их загрузки в процесс-исполнитель. Это становится еще более важным, если исполнители находятся не на той же физической машине, что и данные.

Обратите внимание, что:

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

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