我用一个比喻说说个人理解吧:大数据平台在一些地方被称为数据仓库,如果把数据仓库比作粮仓的话,大数据平台开发工程师提供工具,比如研发更快的收割机、设计更大的仓库等等;大数据开发工程师使用这些工具处理数据,比如将农田里的收割、晾晒、去皮、研磨成可以食用的大米面粉。
数据科学金字塔
上图的数据金字塔展示了数据科学领域各岗位的大致职能。
- 最底层是数据收集部分,主要是原始数据的生成和收集。这部分数据来自各种IoT设备、传感器、手机APP上的用户行为、外部数据、以及用户生成数据(类似抖音用户主动发布的视频)。
- 第二层是数据存储部分,一般需要构建数据仓库,生成一系列数据流,将原始数据存储至大数据平台。
- 第三层是数据清洗和转化部分,主要对数据进行清洗和预处理,将数据转化为更高层次的数据,为上层数据分析做准备。
- 第四层是数据聚合部分,主要做一些基础的数据分析和业务报表,进行一些数据挖掘,并构建机器学习的训练数据。
- 第五层是机器学习部分,主要构建机器学习模型,将模型发布到生产系统,进行AB实验。
- 最顶层是人工智能部分,顶级的科学家提出新算法或新架构。
大数据开发和大数据平台开发的工作都主要集中在1、2、3三层。
原始的数据就像农田里的麦子,需要经过层层工序,才能最终将其转化餐桌上的面包。大数据开发和大数据平台开发打通了粮食收割、清理、制粉的整个流程,将原始的粮食转化成了面粉。
大数据是我的主要研究方向之一,同时也在带大数据方向的研究生,所以我来一下这个问题。
首先,大数据开发通常指的是基于大数据产业链的一系列开发任务,涉及到大数据平台开发、大数据应用开发、大数据分析等,另外还包括数据采集产品的开发、数据整理产品的开发等等,如果向上延伸的话,部分大数据开发任务与人工智能开发任务也具有密切的联系。
大数据平台开发通常有两层含义,一层是进行大数据平台自身的开发,这属于研发级开发任务,比如大数据平台Hadoop就是采用Java语言开发的。整个大数据平台还涉及到一系列产品,包括HBase、Hive、Avro、Zookeeper、Pig、Mahout、Cassandra等,开发这些产品也需要一个庞大的团队。进行大数据平台研发的程序员往往需要具备丰富的开发经验,同时具备较强的研发能力,能够搭建出一个稳定的分布式计算体系。
另一层含义是在大数据平台下进行应用开发,比如在Hadoop、Spark平台下进行具体的大数据应用开发等,这部分开发通常属于应用级开发,难度要相对小一些,但是往往需要与具体的场景进行紧密的联系,需要开发者具备一定的行业背景知识。
目前大数据应用开发主要的任务有两个,其一是进行已有软件产品的大数据改造;其二是针对于具体的大数据需求进行全新的大数据应用开发,目前由于是大数据落地应用的初期,所以大数据改造的开发任务会相对多一些,未来新的大数据开发任务会逐渐增加。
常说的大数据开发,其实是指数据研发偏ETL方向,大数据平台开发,则是指开发各种简化数据任务编程的平台,常见的有阿里的Dataworks、网易的猛犸。
两者的主要区别:大数据研发需要你对数据仓库理论要有一定的经验,这个岗位偏向数据处理类技能。大数据平台开发则是需要你对Java技术栈要熟练掌握使用,这个岗位更偏向于工程类代码开发。
大数据研发偏向于数仓方面的技术理论,要能够熟练使用SQL语言
首先,先说一下大数据研发的主要职能,就是结合公司业务数据,为公司构建数据仓库,通过业务指标数据指导运营同学,更好的运营业务,同时帮助上层领导,通过数据看清目前公司的业务发展情况,帮助其作出正确的决策。
大数据研发需要结合数据仓库理论,对于公司的数据进行加工处理,然后进行分层存储。分层的含义具体是指按照数据不同的类型,对其进行规范化命名和存储。
大数据和大数据平台开发是有区别的,先做个形象比喻平台开发是开发工具,大数据开发是在用工具来开发。
如用hbase来做开发的话,那是对大数据平台本身的开发和优化,应该算是平台开发。在平台开发里边儿有调度系统以及底层的计算引擎和存储引擎开发,以及大数据本身集群管理工具都算大数据平台开发。
大数据开发本身是借助平台对数据做处理。比如编程序,逻辑是从hadoop里用spark把数据读取出来,进行数据变换处理,最后写入存储,最后部署到调度系统执行。这一系列做下来就是大数据开发。
大数据开发主要是对挖掘算法进行研究,
大数据平台开发主要是对平台进行构建
其实这两个很容易区分的!本身存在有很大的区
大数据平台开发就是开发大数据所用到的东西,比如hadoop是目前大数据最基本的组成!开发hadoop以及它的一些生态系统,或者升级本身,要是够厉害也可以开发大数据的系统!这些就属于大数据平台开发。
下图是大数据生态圈
而大数据开发就是利用开发好的平台,比如用hadoop,spark构建来大数据系统,把大数据运用生活中
虽然我不是IT业的,但是可以给你举个例子。
大数据开发就像用机械挖矿,大数据平台开发就像是生产挖矿的机械。
感请!
作为IT行业的一名从业人员,我来下这个问题。
大数据开发是个广义的开发岗位,大数据平台开发是个狭义的概念。
从职务上来理解,大数据平台开发属于研发级的开发任务,从事人员都是高学历、高技能的人才。大数据开发部分从事企业级应用的开发,是Java程序员进行岗位升级的首选。
大数据平台开发一般指的是平台工具的开发,如Hadoop、Hive、Avro、Zookeeper、Pig、Mahout、Cassandra等,开发这些产品也需要一个庞大的团队。进行大数据平台研发的程序员往往需要具备丰富的开发经验,同时具备较强的研发能力以及算法、数学能力。
大数据是我的主要研究方向之一,同时也在带大数据方向的研究生,所以我来探讨一下这个问题。
首先,大数据开发通常指的是基于大数据产业链的一系列开发任务,涉及到大数据平台开发、大数据应用开发、大数据分析等,另外还包括数据采集产品的开发、数据整理产品的开发等等,如果向上延伸的话,部分大数据开发任务与人工智能开发任务也具有密切的联系。
大数据平台开发通常有两层含义,一层是进行大数据平台自身的开发,这属于研发级开发任务,比如大数据平台Hadoop就是采用Java语言开发的。整个大数据平台还涉及到一系列产品,包括HBase、Hive、Avro、Zookeeper、Pig、Mahout、Cassandra等,开发这些产品也需要一个庞大的团队。进行大数据平台研发的程序员往往需要具备丰富的开发经验,同时具备较强的研发能力,能够搭建出一个稳定的分布式计算体系。
另一层含义是在大数据平台下进行应用开发,比如在Hadoop、Spark平台下进行具体的大数据应用开发等,这部分开发通常属于应用级开发,难度要相对小一些,但是往往需要与具体的场景进行紧密的联系,需要开发者具备一定的行业背景知识。
目前大数据应用开发主要的任务有两个,其一是进行已有软件产品的大数据改造;其二是针对于具体的大数据需求进行全新的大数据应用开发,目前由于是大数据落地应用的初期,所以大数据改造的开发任务会相对多一些,未来新的大数据开发任务会逐渐增加。
不对。这个问题更适合有实际开发经历的人来啊!
【广义地说】,我认为大数据开发和大数据平台开发其实是一回事。为什么呢?
1,大数据开发是对技术的落地实现,根据ETL策略将数据整备;
2,当数据处理完毕后,就不是大数据开发的事了,而是其它技术的事了,如展示、分析、AI等,不能混为一谈!
3,而Hadoop、Hive以及Spark等大数据生态组件是开源工具,并不是什么既有平台,当然开发者也可以二次开发它们甚至重构(一般来说不现实),开发者调用这些组件的API接口,实现数据的ETL萃取-转置-载入等;