数据支撑的一些想法

毕业到现在,工作上一直是面对数据。有两个数据处理上的问题困扰着自己。

  1. 做数据支撑(协助数据分析人员出报告),每次分析人员需要出报告都面临着需要程序员的支持,并且每次都需要程序员零时写代码(python,shell,java等)脚本代码。主要的原因在于数据分散在不同的地方存储,例如我们的业务使用了es,hbase,kafka,mysql,excel,txt等等,是否可以搭建一个系统,串通多个数据源,做统计,输出结果到页面,excel等分析人员想要的地方。
  2. 做数据处理流程(etl)。每次新增一种数据源,需要重新写一个对应的任务处理,是否可以通过配置即可以实现一种数据源的对接入库。
    这个问题困扰了很久。在使用shell命令处理数据的过程中构思了一个方案。
    趁着过年放假,实现了一个这个方案。详细代码在码云上。leaf-pipeline

对于项目的东西不做过多的解释了,具体看项目的readme,接下来聊聊这个项目如何解决上面两个问题。
对于第一个问题,综合我们的业务场景,通常都是根据一些查询条件导出mysql,hbase,elasticsearch中的数据,或者对数据做统计。而项目支持从这些数据源中导入数据,并且支持导出txt,excel。如果需要做统计,可以先导入到es中,利用es强大的查询和统计功能实现。
对于第二个问题,综合我们的业务场景,一般和爬虫对接都是通过kafka。项目支持从kafka中导入数据,json2map组件支持解析json,maptomap组件支持将key值转换。

系统最终的形态

目前这个系统只是单独的核心处理部分。只能够开放人员在后台执行脚本跑出数据来。
要想让分析师用上,则需要添加交互页面。
1.在页面上形成一个个可以拖拽的组件块。分析师可以根据自己的需求拖拽组件,填写组件需要的参数,组合组件的顺序,形成一个任务流,得出想要的结果。
2.搭建机器,使用zookeeper做任务的分发,不同集群在zookeeper上抢占任务(具体分发策略需要在考虑)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值