我的任务是创建一个POC,使人们可以从数据库中获取数据,对其进行处理并将其发送到S3。我仍在学习Airflow,有些事情我还不太了解。我希望你能帮助我。 所以我现在正试图从mysql数据库中获取数据并打印出来。问题是我总是返回“无”。我正在尝试利用xcom,但是它不起作用,并且我读到我不应该为此使用xcom。 这是我现在拥有的:
pymssql
第一个任务运行正常(mysql_query),但是第二个任务失败,因为我没有提示。怎么了?
另外,我得到的实际错误是:
apk add freetds freetds-dev
pip install pymssql
有什么想法吗?
答案 0 :(得分:3)
要在python函数中使用上下文,必须使用kwargs并将可调用对象定义为
def print_query(**kwargs):
然后您可以将其用作:
def print_query(**kwargs):
query = kwargs['ti'].xcom_pull(task_ids='mysql_query')
print(query)
或者您可以明确添加ti
:
def print_query(ti, **kwargs):
query = ti.xcom_pull(task_ids='mysql_query')
print(query)