В настоящее время я работаю с Presto и пытаюсь максимально автоматизировать запросы.Таблицы, с которыми я работал, некоторые разделены ежедневно, а некоторые ежемесячно.Чтобы сделать построение запросов более удобным, в итоге я сделал две функции:
add_partitions
: функция, которая принимает объект запроса и добавляет фильтры, соответствующиев определенные разделы таблицы.
add_date_filters
: функция, которая принимает объект запроса и добавляет фильтры для дат.
Это можно использовать вместе, что приводит к добавлению одного и того же фильтра дважды (например, для ежедневных секционированных таблиц будет добавлен фильтр поля day
дважды, один раз, потому что это раздел, и один раз, потому что этополе даты).
Вопрос в том, влияет ли это на производительность каким-либо образом?Я проверил, и это работает, но я не уверен, может ли это добавить дополнительную ненужную рабочую нагрузку.Кроме того, как это изменится, если определенный фильтр находится в разделе o нет?(Я полагаю, что если фильтр является разделом, он не сильно изменится, даже в худшем случае, когда Presto не распознает повторный фильтр).