基于大数据平台开发工作总结
优采云 发布时间: 2020-08-13 04:35大数据开发
大数据开发,有几个阶段:
1.数据采集【原创数据】
2.数据凝聚【经过清洗合并的可用数据】
3.数据转换和映射【经过分类,提取的专项主题数据】
4.数据应用 【提供api 智能系统 应用系统等】
数据采集
数据采集有线上和线下两种形式,线上通常通过爬虫、通过抓取,或者通过已有应用系统的采集,在这个阶段,我们可以做一个大数据采集平台,依托手动爬虫(使用python或则nodejs制做爬虫软件),ETL工具、或者自定义的抽取转换引擎,从文件中、数据库中、网页中专项爬取数据,如果这一步通过自动化系统来做的话,可以很方便的管理所有的原创数据,并且从数据的开始对数据进行标签采集,可以规范开发人员的工作。并且目标数据源可以更方便的管理。
数据采集的难点在于多数据源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。还有本地文件、excel统计文档、甚至是doc文件。如何将她们规整的、有方案的整理进我们的大数据流程中也是必不可缺的一环。
数据凝聚
数据的凝聚是大数据流程最关键的一步,你可以在这里加上数据标准化,你也可以在这里做数据清洗,数据合并,还可以在这一步将数据存档,将确认可用的数据经过可监控的流程进行整理归类,这里产出的所有数据就是整个公司的数据资产了,到了一定的量就是一笔固定资产。
数据凝聚的难点在于怎样标准化数据,例如表名标准化,表的标签分类,表的用途,数据的量,是否有数据增量?,数据是否可用? 需要在业务上下很大的工夫,必要时还要引入智能化处理,例如依照内容训练结果手动打标签,自动分配推荐表名、表数组名等。还有怎样从原创数据中导出数据等。
数据转换和映射
经过数据凝聚的数据资产怎样提供给具体的使用方使用?在这一步,主要就是考虑数据怎么应用,如何将两个?三个?数据表转换成一张才能提供服务的数据。然后定期更新增量。
经过上面的那几步,在这一步难点并不太多了,如何转换数据与怎样清洗数据、标准数据无二,将两个数组的值转换成一个数组,或者按照多个可用表统计出一张图表数据等等。
数据应用
数据的应用方法好多,有对外的、有对内的,如果拥有了前期的大量数据资产,通过restful API提供给用户?或者提供流式引擎 KAFKA 给应用消费? 或者直接组成专题数据,供自己的应用查询?这里对数据资产的要求比较高,所以前期的工作做好了,这里的自由度很高。
总结:大数据开发的难点
大数据开发的难点主要是监控,怎么样规划开发人员的工作?开发人员随随便便采集了一堆垃圾数据,并且直连数据库。 短期来看,这些问题比较小,可以矫治。 但是在资产的量不断降低的时侯,这就是一颗定时*敏*感*词*,随时会引爆,然后引起一系列对数据资产的影响,例如数据混乱带来的就是数据资产的价值增长,客户信任度变低。
如何监控开发人员的开发流程?
答案只能是自动化平台,只有自动化平台才能做到使开发人员倍感舒心的同时,接受新的事务,抛弃自动时代。
这就是后端开发工程师在大数据行业中所占有的优势点,如何制做交互良好的可视化操作界面?如何将现有的工作流程、工作需求弄成一个个的可视化操作界面? 可不可以使用智能化代替一些无脑的操作?
从一定意义上来说,大数据开发中,我个人觉得后端开发工程师抢占着更重要的位置,仅次于大数据开发工程师。至于后台开发,系统开发是第三位的。好的交互至关重要,如何转换数据,如何抽取数据,一定程度上,都是有先人踩过的坑,例如kettle,再比如kafka,pipeline ,解决方案诸多。关键是怎么交互? 怎么样变现为可视化界面? 这是一个重要的课题。
现有的诸位同学的优缺不同,认为后端的角色都是可有可无,我认为是错误的,后台的确很重要,但是后台的解决方案多。 前端实际的地位更重要,但是基本无开源的解决方案,如果不够注重后端开发, 面临的问题就是交互太烂,界面烂,体验差,导致开发人员的抵触,而可视化这块的知识点诸多,对开发人员的素养要求更高。
大数据治理
大数据*敏*感*词*应当贯串整个大数据开发流程,它有饰演着重要的角色,浅略的介绍几点:
数据血缘
数据质量审查
全平台监控
数据血缘
从数据血缘说起,数据血缘应当是大数据*敏*感*词*的入口,通过一张表,能够清晰看到它的来龙去脉,字段的分拆,清洗过程,表的流转,数据的量的变化,都应当从数据血缘出发,我个人觉得,大数据*敏*感*词*整个的目标就是这个数据血缘,从数据血缘才能有监控全局的能力。
数据血缘是依托于大数据开发过程的,它包围着整个大数据开发过程,每一步开发的历史,数据导出的历史,都应当有相应的记录,数据血缘在数据资产有一定规模时,基本必不可少。
数据质量审查
数据开发中,每一个模型(表)创建的结束,都应当有一个数据质量审查的过程,在体系大的环境中,还应当在关键步骤添加审批,例如在数据转换和映射这一步,涉及到顾客的数据提供,应该构建一个建立的数据质量审查制度,帮助企业第一时间发觉数据存在的问题,在数据发生问题时也能第一时间听到问题的所在,并从症结解决问题,而不是盲目的通过联接数据库一遍一遍的查询sql。
全平台监控
监控呢,其实收录了好多的点,例如应用监控,数据监控,预警系统,工单系统等,对我们接管的每位数据源、数据表都须要做到实时监控,一旦发生殆机,或者发生停水,能够第一时间电话或则邮件通知到具体负责人,这里可以借鉴一些自动化运维平台的经验的,监控约等于运维,好的监控提供的数据资产的保护也是很重要的。
大数据可视化
大数据可视化不仅仅是图表的诠释,大数据可视化不仅仅是图表的诠释,大数据可视化不仅仅是图表的诠释,重要的事说三遍,大数据可视化归类的数据开发中,有一部分属于应用类,有一部分属于开发类。
在开发中,大数据可视化饰演的是可视化操作的角色, 如何通过可视化的模式构建模型? 如何通过拖拉拽,或者立体操作来实现数据质量的可操作性? 画两个表格加几个按键实现复杂的操作流程是不现实的。
在可视化应用中,更多的也有怎样转换数据,如何展示数据,图表是其中的一部分,平时更多的工作还是对数据的剖析,怎么样更直观的抒发数据?这须要对数据有深刻的理解,对业务有深刻的理解,才能作出合适的可视化应用。
智能的可视化平台
可视化是可以被再可视化的,例如superset,通过操作sql实现图表,有一些产品甚至能做到按照数据的内容智能分类,推荐图表类型,实时的进行可视化开发,这样的功能才是可视化现有的发展方向,我们须要大量的可视化内容来对公司发生产出,例如服饰行业,销售部门:进货出货,颜色搭配对用户的影响,季节对选择的影响 生产部门:布料价钱走势? 产能和效率的数据统计? 等等,每一个部门都可以有一个数据大屏,可以通过平台任意规划自己的大屏,所有人每晚才能关注到自己的领域动向,这才是大数据可视化应用的具体意义。
写在最后
未来的几年,希望自己继续努力工作,主业前端开发,另外,一有时间多学学大数据开发、人工智能方面的知识,这是未来,也是方向。
最后,和你们自勉,更希望你们能给一些规划建议,三人行,必有我师焉,谢谢。