如何使用气流编排简单的etl python脚本?

如何使用气流编排简单的etl python脚本?,python,pandas,etl,airflow,airflow-scheduler,Python,Pandas,Etl,Airflow,Airflow Scheduler,我喜欢气流的概念,但我被困在基本的。从昨天开始,我就开始在vm ubuntu postgres解决方案上运行。我可以看到仪表板和示例数据:))我现在想要的是将用于处理原始数据的示例脚本迁移到准备好的数据 假设你有一个包含csv文件的文件夹。今天,我的脚本遍历它,将每个文件传递给一个列表,该列表将被转换为df。之后,我准备好它们的列名,进行一些数据清理,并将其写入不同的格式 1:pd.read_csv用于目录中的文件 2:创建一个df 3:清除列名 4:清洁值(与stp 3平行) 5:将结果写入数

我喜欢气流的概念,但我被困在基本的。从昨天开始,我就开始在vm ubuntu postgres解决方案上运行。我可以看到仪表板和示例数据:))我现在想要的是将用于处理原始数据的示例脚本迁移到准备好的数据

假设你有一个包含csv文件的文件夹。今天,我的脚本遍历它,将每个文件传递给一个列表,该列表将被转换为df。之后,我准备好它们的列名,进行一些数据清理,并将其写入不同的格式

1:pd.read_csv用于目录中的文件

2:创建一个df

3:清除列名

4:清洁值(与stp 3平行)

5:将结果写入数据库


如何根据气流组织我的文件?脚本应该是什么样子?我传递的是单个方法、单个文件还是必须为每个部分创建多个文件?我在这一点上缺乏基本概念:(我读到的关于气流的所有内容都比我的简单案例要复杂得多。我曾考虑将气流也从Bonobo、Mara、Luigi中分离出来,但我认为气流是值得的?!

我会使用
PythonOperator
,将整个代码放入Python函数中,创建一个气流任务,就是这样

如果有必要拆分这些步骤,也可以将csv文件的加载放在函数中,并将数据库写入。所有这些都放在一个DAG中

因此,您的一个DAG将有三个任务,如:

loadCSV (PythonOperator)
parseDF (PythonOperator)
pushToDB (PythonOperator)
如果您使用了多个需要使用的任务,那么一开始只使用一个任务会更容易


标签下面有几个代码示例。当您创建了一些东西时,请再次询问。

您到目前为止创建了什么?我们可以看到它吗?作为补充说明,下面是另一个S.O.线程,它显示了类似的东西: