今年广州的六月,在经历了大雨的洗礼之后,一切都变得更加明朗起来,新的工作,新的人和事。懒惰让我变得更焦虑,焦虑促使我进步,程序员的焦虑大家应该都有共同的感觉,时代的步伐太快了,在这个环境下的软件开发一定会淘汰掉那些不懂得学习,懒惰的人。
希望跟大家共勉。
今天呢,博主主要回顾这两年来,在大数据行业公司从事大数据类的前端开发的工作。最近刚刚换了一份工作,把我的经验稍作总结分享给大家,有什么建议大家在评论区踊跃。 谢谢。
今天的主题,主要是从大数据开发的角度,到大数据治理的必要性,再到图形化建模的畅想,最后在数据质量的把关,然后到大数据可视化的应用,博主总结两年的见闻,和我学习的成果,也不知理解有无偏差吧,希望大家能给出建议。
大数据开发
大数据开发,有几个阶段:
1.数据采集【原始数据】
2.数据汇聚【经过清洗合并的可用数据】
3.数据转换和映射【经过分类,提取的专项主题数据】
4.数据应用 【提供api 智能系统 应用系统等】
数据采集
数据采集有线上和线下两种方式,线上一般通过爬虫、通过抓取,或者通过已有应用系统的采集,在这个阶段,我们可以做一个大数据采集平台,依托自动爬虫(使用python或者nodejs制作爬虫软件),ETL工具、或者自定义的抽取转换引擎,从文件中、数据库中、网页中专项爬取数据,如果这一步通过自动化系统来做的话,可以很方便的管理所有的原始数据,并且从数据的开始对数据进行标签采集,可以规范开发人员的工作。并且目标数据源可以更方便的管理。
数据采集的难点在于多数据源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。还有本地文件、excel统计文档、甚至是doc文件。如何将他们规整的、有方案的整理进我们的大数据流程中也是必不可缺的一环。
数据汇聚
数据的汇聚是大数据流程最关键的一步,你可以在这里加上数据标准化,你也可以在这里做数据清洗,数据合并,还可以在这一步将数据存档,将确认可用的数据经过可监控的流程进行整理归类,这里产出的所有数据就是整个公司的数据资产了,到了一定的量就是一笔固定资产。
数据汇聚的难点在于如何标准化数据,例如表名标准化,表的标签分类,表的用途,数据的量,是否有数据增量?,数据是否可用? 需要在业务上下很大的功夫,必要时还要引入智能化处理,例如根据内容训练结果自动打标签,自动分配推荐表名、表字段名等。还有如何从原始数据中导入数据等。
数据转换和映射
经过数据汇聚的数据资产如何提供给具体的使用方使用?在这一步,主要就是考虑数据如何应用,如何将两个?三个?数据表转换成一张能够提供服务的数据。然后定期更新增量。
经过前面的那几步,在这一步难点并不太多了,如何转换数据与如何清洗数据、标准数据无二,将两个字段的值转换成一个字段,或者根据多个可用表统计出一张图表数据等等。
数据应用
数据的应用方式很多,有对外的、有对内的,如果拥有了前期的大量数据资产,通过restful API提供给用户?或者提供流式引擎 KAFKA 给应用消费? 或者直接组成专题数据,供自己的应用查询?这里对数据资产的要求比较高,所以前期的工作做好了,这里的自由度很高。
总结:大数据开发的难点
大数据开发的难点主要是监控,怎么样规划开发人员的工作?开发人员随随便便采集了一堆垃圾数据,并且直连数据库。 短期来看,这些问题比较小,可以矫正。 但是在资产的量不断增加的时候,这就是一颗定时炸弹,随时会引爆,然后引发一系列对数据资产的影响,例如数据混乱带来的就是数据资产的价值下降,客户信任度变低。
如何监控开发人员的开发流程?
答案只能是自动化平台,只有自动化平台能够做到让开发人员感到舒心的同时,接受新的事务,抛弃手动时代。