数据湖对比分析,大数据平台( 三 )


大数据开发跟大数据平台开发有区别吗?

数据湖对比分析,大数据平台


我用一个比喻说说个人理解吧:大数据平台在一些地方被称为数据仓库 , 如果把数据仓库比作粮仓的话 , 大数据平台开发工程师提供工具 , 比如研发更快的收割机、设计更大的仓库等等;大数据开发工程师使用这些工具处理数据 , 比如将农田里的收割、晾晒、去皮、研磨成可以食用的大米面粉 。数据科学金字塔上图的数据金字塔展示了数据科学领域各岗位的大致职能 。
最底层是数据收集部分 , 主要是原始数据的生成和收集 。这部分数据来自各种IoT设备、传感器、手机APP上的用户行为、外部数据、以及用户生成数据(类似抖音用户主动发布的视频) 。第二层是数据存储部分 , 一般需要构建数据仓库 , 生成一系列数据流 , 将原始数据存储至大数据平台 。第三层是数据清洗和转化部分 , 主要对数据进行清洗和预处理 , 将数据转化为更高层次的数据 , 为上层数据分析做准备 。
第四层是数据聚合部分 , 主要做一些基础的数据分析和业务报表 , 进行一些数据挖掘 , 并构建机器学习的训练数据 。第五层是机器学习部分 , 主要构建机器学习模型 , 将模型发布到生产系统 , 进行AB实验 。最顶层是人工智能部分 , 顶级的科学家提出新算法或新架构 。大数据开发和大数据平台开发的工作都主要集中在1、2、3三层 。原始的数据就像农田里的麦子 , 需要经过层层工序 , 才能最终将其转化餐桌上的面包 。
大数据开发和大数据平台开发打通了粮食收割、清理、制粉的整个流程 , 将原始的粮食转化成了面粉 。大数据平台开发大数据平台工程师开发主要关注提供大数据基础设施和工具 。目前的大数据公司都建有自己的数据仓库 , 数据仓库中的一个子任务就是构建OLAP(Online Analytical Processing , 联机分析处理)工具:主要是在Hadoop生态上 , 构建大数据分析平台 。
大数据平台开发所做的工作包括提供HDFS、HBase、对象存储等数据存储服务;Hive和Spark批处理、Druid和Kylin预处理等数据分析工具;Spark Streaming、Flink等流式计算工具 。总之 , 大数据平台开发工程师关注基础设施和工具 。大数据开发大数据工程师的一个重要任务是ETL(Extract、Trasform、Load):使用大数据平台开发工程师提供的基础设施和工具 , 在收集到的数据上做提取和转化 , 生成更高层次的数据 。
这部分工程师关注业务相关的数据流 。因为原始数据一般都是互相独立的 , 数据与数据之间关联性差 , 使用这些原始数据 , 几乎很难快速生成用户画像、广告收入等高层次数据分析结果 , 更不用提如何进行机器学习建模了 。以今日头条内容推荐引擎为例 , 整个推荐引擎要接入不同类型的异构大数据源:每个用户在APP上的使用行为、公司购买的第三方数据(包括用户金融能力数据等)、自媒体产生的海量图文视频内容等等 。
数据工程师的工作包括:将用户在APP内的点击行为与点击的内容做关联 , 生成用户兴趣画像;将用户的APP内部数据与第三方数据关联 , 生成用户的消费能力画像等 。大数据开发工程师主要对收集过来的底层数据做处理 , 建立一系列数据管道 , 将来自不同数据源的原始数据经过层层转化 , 生成对数据分析和算法建模更有价值的中间数据 , 一般称这个流程为数据流 。

推荐阅读