交通路网数据自动化ETL项目介绍
这是最近一年内一直没有脱手的一个项目。只是最近有了一定的想法心得,在此记录一下。
- 项目概述
交通路网数据自动化ETL项目主要为了方便路网可视化部分提取所需要的数据。
最初的数据是从各个厂商的摄像头传入的,然后由另一个公司(合作伙伴)将最初的数据传入kafka中,然后再由kafka传入impala中。
我所做的工作便是从impala中定期提取数据到数据库中,并且对这些数据进行处理转换为我们前端路网可视化所需要的数据。这个看似简单的任务,却让我崩溃了很久。这也算是我自己第一次在真实需求场景下做的一个ETL处理系统。数据处理完毕后存入数据库,类似于一个小型的数据仓库。 - 使用工具概述
·talend
talend是由JAVA编写的一款自动化ETL工具,使用这款工具可以通过可视化界面创建数据处理任务,涵盖了多种基本数据库以及流式数据库的数据导入和处理。
·Quartz
定时任务框架,在项目中主要使用Quartz框架将为任务设定时间。 - 主要实施方案
主要的实施方案为先通过talend创建一个从搭建好的impala中将数据导入到数据库中的作业,再将该作业导出为java项目进行二次开发。所需要进行的数据处理全部在Postgresql数据库中设置触发器处理。
整体思路为:从impala中将数据导出,导出完成后将触发触发器自动将数据进行处理。生成额外的功能表。
详情请见接下来慢慢道来