Как правильно организовать работу с данными в Airflow?
Сейчас в коде выборка из БД помещается в DataFrame:
with self.engine.connect() as conn:
query = f"""SELECT ...."""
rezult = pd.read_sql(query, conn)
И далее в коде идет обработка и перебор строк (а их там миллионы):
df = rezult[УСЛОВИЕ_ВЫБОРКИ_ИЗ_ОБЩЕЙ_ВЫБОРКИ]
df = df.groupby(['name']).agg(
list).reset_index().replace([None], np.NaN)
for _, row in df.iterrows():
....
Соответственно сами вопросы:
- На сколько это производительно(т.к. невооруженным глазом видно что тут надо обладать не малой памятью для этого)?
- Правильнее ли будет убрать эти манипуляции из питона и раскидать эти их на операторы Airflow и данные передавать между ними?