求数据库开发工程师学习路线,数据开发( 二 )


平时用的较多的语言是Java,其更偏向于Java开发 。如果用户是上层用户,大数据相关组件作为最低层,大数据平台就桥接着用户和大数据组件,方便用户使用大数据组件的功能 。大数据分析师(BI同学)更多的是对我们已有的线上数据进行价值分析,从相关的线上用户所产生的数据中,发现出一些潜在的商业价值,能够更好的去辅助决策层的战略决定 。
BI需要对数据敏感、细心,善于从数据中发现业务价值,平常很多工作就是数据可视化、简单化、深入化、PPT化 。大数据运维同学主要是保障公司相关机器集群的稳定,使得它们不能出现故障 。当申请到新的机器时,会在新机器上面部署各种大数据组件组成的集群 。同样,当有业务同学需要用到机器时,可以给大数据运维同学提需求 。
当大数据组件集群突然因为什么变得集群不稳定时,运维同学需要去定位问题和解决问题,运维同学平时用的较多的Linux Shell脚本和命令行等,其职位更偏向于为其他同学提供机器稳定保障 。ETL同学(数仓同学)则是对我们的线上数据进行数据加工,形成DWD层(公共明细层)、DWS层(公共汇总层),形成统一的指标口径 。
ETL同学会根据不同的业务需求,一般使用SQL进行数据指标的加工,指导业务同学更好的运营相关业务 。同时ETL同学更关注业务指标的口径,在指标开发的过程中,使用数仓模型对业务数据进行建模,便于开发的指标数据更加统一,减少口径偏差 。大数据组件开发,更多的是结合公司业务,对大数据基础组件进行定制化开发、性能优化、BUG修复等等 。
同时,也需要对业务方接入进行问题答疑,指导他们使用大数据组件满足业务需求 。同时,你也需要运维你的大数据组件,当出现故障BUG时,需要你能及时修复,保证大数据组件的稳定 。大数据组件开发需要对你自己运维的组件原理掌握的很全很深,只有这样,你才能够更好的指导别人 。总结大数据开发有很多方向,你可以结合你自己的兴趣,选择一个从事方向 。
大数据开发跟大数据平台开发有区别吗?

求数据库开发工程师学习路线,数据开发


我用一个比喻说说个人理解吧:大数据平台在一些地方被称为数据仓库,如果把数据仓库比作粮仓的话,大数据平台开发工程师提供工具,比如研发更快的收割机、设计更大的仓库等等;大数据开发工程师使用这些工具处理数据,比如将农田里的收割、晾晒、去皮、研磨成可以食用的大米面粉 。数据科学金字塔上图的数据金字塔展示了数据科学领域各岗位的大致职能 。
最底层是数据收集部分,主要是原始数据的生成和收集 。这部分数据来自各种IoT设备、传感器、手机APP上的用户行为、外部数据、以及用户生成数据(类似抖音用户主动发布的视频) 。第二层是数据存储部分,一般需要构建数据仓库,生成一系列数据流,将原始数据存储至大数据平台 。第三层是数据清洗和转化部分,主要对数据进行清洗和预处理,将数据转化为更高层次的数据,为上层数据分析做准备 。
第四层是数据聚合部分,主要做一些基础的数据分析和业务报表,进行一些数据挖掘,并构建机器学习的训练数据 。第五层是机器学习部分,主要构建机器学习模型,将模型发布到生产系统,进行AB实验 。最顶层是人工智能部分,顶级的科学家提出新算法或新架构 。大数据开发和大数据平台开发的工作都主要集中在1、2、3三层 。原始的数据就像农田里的麦子,需要经过层层工序,才能最终将其转化餐桌上的面包 。