MoveMethod¶
- class MoveMethod¶
Методы перемещения данных из промежуточной таблицы в целевую таблицу
- append¶
Инкрементальная загрузка данных. Данные добавляются без предварительной очистки.
Атрибуты: name=»append», have_sql=False, need_filter=False, is_custom=False
- delete¶
Удаление старых записей по фильтрующим колонкам.
Атрибуты: name=»delete», have_sql=True, need_filter=True, is_custom=False
- replace¶
Замена партиций (только для партиционированных таблиц).
Атрибуты: name=»replace», have_sql=True, need_filter=False, is_custom=False
- rewrite¶
Полная перезапись таблицы.
Атрибуты: name=»rewrite», have_sql=False, need_filter=False, is_custom=False
- custom¶
Удаление на основе пользовательского запроса. Требуется SQL запрос.
Атрибуты: name=»custom», have_sql=False, need_filter=False, is_custom=True
Пример использования:
from dbhose_airflow import MoveMethod
# Выбор метода в зависимости от задачи
if needs_filtering:
method = MoveMethod.delete
elif full_refresh:
method = MoveMethod.rewrite
else:
method = MoveMethod.append
# Использование в DBHoseOperator
task = DBHoseOperator(
task_id='transfer_data',
move_method=method,
# ... другие параметры
)
Примечание
Является внутренним объектом DBHose и не предназначен внешнего использования.