I'm working on Airflow where I'm trying to transfer data form mysql database to csv file. Below are the codes and functions
from airflow import DAG
from datetime import datetime,timedelta
from airflow.operators.bash_operator import BashOperator
from airflow.operators.python_operator import PythonOperator
from airflow.operators.mysql_operator import MySqlOperator
from dbextract import extract_data
from dbpost_processing import dbpost_process
default_args = {"owner":"airflow","start_date":datetime(2021,7,10)}
with DAG(dag_id="dbworkflow2",default_args=default_args,schedule_interval=None) as dag:
extract = MySqlOperator(
task_id='extract',
mysql_conn_id="mysql_db1",
sql = extract_data
)
dbpost_process = PythonOperator(
task_id = "dbpost_process",
python_callable = dbpost_process
)
extract >> dbpost_process
import pandas as pd
def extract_data():
df=pd.read_sql('SELECT * FROM new_table', mysql_conn_id)
import pandas as pd
def dbpost_process():
df.to_csv('~/op_files/sample3.csv', index=False)
Getting error as function object is not iterable in extract_data step