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

时间:2018-06-03 21:47:28

标签: python pandas etl airflow airflow-scheduler

我喜欢气流的想法,但我陷入了困境。从昨天开始,我在vm ubuntu-postgres解决方案上运行气流。我可以看到仪表板和示例数据:))我现在想要的是迁移一个示例脚本,我用它来处理原始数据到准备好的数据。

想象一下,你有一个csv文件夹。今天我的脚本遍历它,将每个文件传递到一个列表,该列表将转换为df。之后,我准备他们的列名称并进行一些数据清理并将其写入不同的格式。

1:pd.read_csv用于目录

中的文件

2:创建一个df

3:清理列名

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

5:将结果写入数据库

我如何根据气流组织文件?脚本应该怎么样?我是通过单个方法,单个文件还是必须为每个部分创建多个文件?我在这一点上缺乏基本概念:(我读到的关于气流的一切都比我简单的情况更复杂。我正在考虑远离气流以及Bonobo,Mara,Luigi,但我认为气流是值得吗?!

1 个答案:

答案 0 :(得分:0)

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

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

所以你的一个DAG会有三个任务,如:

loadCSV (PythonOperator)
parseDF (PythonOperator)
pushToDB (PythonOperator)

如果您使用需要的多个任务来使用Airflow's XCom。一开始,只使用一个任务就更容易了。

标签气流下有几个代码示例。当你创造了一些东西时,再问一遍。