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

用户6423317300690


大数据是我的主要研究方向之一,同时也在带大数据方向的研究生,所以我来回答一下这个问题。

首先,大数据开发通常指的是基于大数据产业链的一系列开发任务,涉及到大数据平台开发、大数据应用开发、大数据分析等,另外还包括数据采集产品的开发、数据整理产品的开发等等,如果向上延伸的话,部分大数据开发任务与人工智能开发任务也具有密切的联系。

大数据平台开发通常有两层含义,一层是进行大数据平台自身的开发,这属于研发级开发任务,比如大数据平台Hadoop就是采用Java语言开发的。整个大数据平台还涉及到一系列产品,包括HBase、Hive、Avro、Zookeeper、Pig、Mahout、Cassandra等,开发这些产品也需要一个庞大的团队。进行大数据平台研发的程序员往往需要具备丰富的开发经验,同时具备较强的研发能力,能够搭建出一个稳定的分布式计算体系。

另一层含义是在大数据平台下进行应用开发,比如在Hadoop、Spark平台下进行具体的大数据应用开发等,这部分开发通常属于应用级开发,难度要相对小一些,但是往往需要与具体的场景进行紧密的联系,需要开发者具备一定的行业背景知识。

目前大数据应用开发主要的任务有两个,其一是进行已有软件产品的大数据改造;其二是针对于具体的大数据需求进行全新的大数据应用开发,目前由于是大数据落地应用的初期,所以大数据改造的开发任务会相对多一些,未来新的大数据开发任务会逐渐增加。

相对于大数据开发来说,大数据分析也需要进行代码编写,比如机器学习就是目前比较常见的数据分析方式。机器学习需要进行算法设计、算法实现、算法训练、算法验证和算法应用,虽然算法设计是机器学习的核心,但是算法实现也需要程序员来完成具体的开发过程。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言!


IT人刘俊明


常说的大数据开发,其实是指数据研发偏ETL方向,大数据平台开发,则是指开发各种简化数据任务编程的平台,常见的有阿里的Dataworks、网易的猛犸。

两者的主要区别:大数据研发需要你对数据仓库理论要有一定的经验,这个岗位偏向数据处理类技能。大数据平台开发则是需要你对Java技术栈要熟练掌握使用,这个岗位更偏向于工程类代码开发。

大数据研发偏向于数仓方面的技术理论,要能够熟练使用SQL语言

首先,先说一下大数据研发的主要职能,就是结合公司业务数据,为公司构建数据仓库,通过业务指标数据指导运营同学,更好的运营业务,同时帮助上层领导,通过数据看清目前公司的业务发展情况,帮助其作出正确的决策。

大数据研发需要结合数据仓库理论,对于公司的数据进行加工处理,然后进行分层存储。分层的含义具体是指按照数据不同的类型,对其进行规范化命名和存储。

常见的数据分层,ODS层、DWD层、DWS层、DM层。ODS层代表原始数据层,这部分数据完全来自线上,没有经过加工处理。DWD和DWS层表示能够进行通用的公共数据明细层和公共指标数据层,这两层一般代表着公共的统一业务口径数据。DM层则是具体的业务定制化数据层,一般数据来源于DWD层和DWS层。

大数据平台开发,需要对Java技术栈掌握的扎实,同时需要对大数据组件能够使用

大数据平台开发,顾名思义,就是开发数据平台,给数据研发以及其他开发同学使用,开发数据任务。常见的两类大数据平台:离线计算平台和实时计算平台。

目前很多公司的大数据平台都是使用Java技术栈来进行开发的,首先你需要对Java语言的基础和使用要有很深入的理解。其次,目前大数据平台会使用 Spring Boot框架来进行开发,Spring 的框架你要学会使用。如果有数据治理、数据服务的经验更好。

针对不同数据平台的类型,你还需要对相关的大数据组件要有一定的使用经验和原理理解。比如你开发大数据离线计算平台,你需要对 Hadoop、Hive、Spark、Flume、HBase组件的实践要有一定的经验。

对于实时计算平台,你需要对Flink、Spark Streaming、Storm、Kafka组件要有一定的理解。目前很多公司的实时计算框架使用的是 Flink ,如果你对实时计算感兴趣的话,可以研究 Flink 底层的技术原理,也欢迎和我一起探讨。

我是Lake,专注大数据技术原理、人工智能、数据库技术、程序员经验分享,如果我的问答对你有帮助的话,希望你能点赞关注我,感谢。

我会持续大数据、数据库方面的内容,如果你有任何问题,也欢迎关注私信我,我会认真解答每一个问题。期待您的关注


Lake说科技


其实这两个很容易区分的!本身存在有很大的区

大数据平台开发就是开发大数据所用到的东西,比如hadoop是目前大数据最基本的组成!开发hadoop以及它的一些生态系统,或者升级本身,要是够厉害也可以开发大数据的系统!这些就属于大数据平台开发。

下图是大数据生态圈




而大数据开发就是利用开发好的平台,比如用hadoop,spark构建来大数据系统,把大数据运用生活中



举个很简单的例子就是大数据平台开发属于制造工具,大数据开发就是利用工具创造价值!


安易之之


我用一个比喻说说个人理解吧:大数据平台在一些地方被称为数据仓库,如果把数据仓库比作粮仓的话,大数据平台开发工程师提供工具,比如研发更快的收割机、设计更大的仓库等等;大数据开发工程师使用这些工具处理数据,比如将农田里的收割、晾晒、去皮、研磨成可以食用的大米面粉。

数据科学金字塔

上图的数据金字塔展示了数据科学领域各岗位的大致职能。

  1. 最底层是数据收集部分,主要是原始数据的生成和收集。这部分数据来自各种IoT设备、传感器、手机APP上的用户行为、外部数据、以及用户生成数据(类似抖音用户主动发布的视频)。
  2. 第二层是数据存储部分,一般需要构建数据仓库,生成一系列数据流,将原始数据存储至大数据平台。
  3. 第三层是数据清洗和转化部分,主要对数据进行清洗和预处理,将数据转化为更高层次的数据,为上层数据分析做准备。
  4. 第四层是数据聚合部分,主要做一些基础的数据分析和业务报表,进行一些数据挖掘,并构建机器学习的训练数据。
  5. 第五层是机器学习部分,主要构建机器学习模型,将模型发布到生产系统,进行AB实验。
  6. 最顶层是人工智能部分,顶级的科学家提出新算法或新架构。

大数据开发和大数据平台开发的工作都主要集中在1、2、3三层。

原始的数据就像农田里的麦子,需要经过层层工序,才能最终将其转化餐桌上的面包。大数据开发和大数据平台开发打通了粮食收割、清理、制粉的整个流程,将原始的粮食转化成了面粉。

大数据平台开发

大数据平台工程师开发主要关注提供大数据基础设施和工具。目前的大数据公司都建有自己的数据仓库,数据仓库中的一个子任务就是构建OLAP(Online Analytical Processing,联机分析处理)工具:主要是在Hadoop生态上,构建大数据分析平台。

大数据平台开发所做的工作包括提供HDFS、HBase、对象存储等数据存储服务;Hive和Spark批处理、Druid和Kylin预处理等数据分析工具;Spark Streaming、Flink等流式计算工具。

总之,大数据平台开发工程师关注基础设施和工具。

大数据开发

大数据工程师的一个重要任务是ETL(Extract、Trasform、Load):使用大数据平台开发工程师提供的基础设施和工具,在收集到的数据上做提取和转化,生成更高层次的数据。

这部分工程师关注业务相关的数据流。因为原始数据一般都是互相独立的,数据与数据之间关联性差,使用这些原始数据,几乎很难快速生成用户画像、广告收入等高层次数据分析结果,更不用提如何进行机器学习建模了。以今日头条内容推荐引擎为例,整个推荐引擎要接入不同类型的异构大数据源:每个用户在APP上的使用行为、公司购买的第三方数据(包括用户金融能力数据等)、自媒体产生的海量图文视频内容等等。数据工程师的工作包括:将用户在APP内的点击行为与点击的内容做关联,生成用户兴趣画像;将用户的APP内部数据与第三方数据关联,生成用户的消费能力画像等。

大数据开发工程师主要对收集过来的底层数据做处理,建立一系列数据管道,将来自不同数据源的原始数据经过层层转化,生成对数据分析和算法建模更有价值的中间数据,一般称这个流程为数据流。小公司限于人力有限,数据流的响应时间有可能是天级或小时级;大公司对数据流的响应要求极高,有可能是分钟级、秒级甚至亚秒级。很多朋友都发现,在今日头条刚刚搜索过某一个内容,下一分钟就能收到相似内容的推荐了,因为大数据开发工程师提供了这种秒级数据管道。

技能要求

无论是大数据平台开发工程师还是大数据开发工程师都对从业人员的“编程开发”和“大数据”大数据要求比较高,而且数据量越大的公司,对技能要求越高。公司一般要求工程师在Java和Scala语言上,基于Hadoop生态系统,构建实时或批量的数据流。但公司与公司的差异很大,整个技术栈和工作内容与公司架构高度相关。某招聘APP上对大数据开发工程师的技能要求:Java、Scala、Linux、Hadoop、Kafka、Spark、Flink等。

面试时一般会重点考察候选人对Google大数据三大论文的理解,即MapReduce、GFS和BigTable,分别对应了开源的Hadoop MapReduce、HDFS和HBase,这三篇论文也被称为驱动大数据的三驾马车。

小结

大数据平台开发工程师提供基础设施和工具,是大数据平台的底层保障,工作内容离业务较远。大数据开发工程师依赖这些工具,在业务数据做提取和转化,构建数据流,工作内容离业务较近。


皮皮鲁的AI星球


首先,大数据开发通常指的是基于大数据产业链的一系列开发任务,涉及到大数据平台开发、大数据应用开发、大数据分析等,另外还包括数据采集产品的开发、数据整理产品的开发等等,如果向上延伸的话,部分大数据开发任务与人工智能开发任务也具有密切的联系。

大数据平台开发通常有两层含义,一层是进行大数据平台自身的开发,这属于研发级开发任务,比如大数据平台Hadoop就是采用Java语言开发的。整个大数据平台还涉及到一系列产品,包括HBase、Hive、Avro、Zookeeper、Pig、Mahout、Cassandra等,开发这些产品也需要一个庞大的团队。进行大数据平台研发的程序员往往需要具备丰富的开发经验,同时具备较强的研发能力,能够搭建出一个稳定的分布式计算体系。

另一层含义是在大数据平台下进行应用开发,比如在Hadoop、Spark平台下进行具体的大数据应用开发等,这部分开发通常属于应用级开发,难度要相对小一些,但是往往需要与具体的场景进行紧密的联系,需要开发者具备一定的行业背景知识。

前大数据应用开发主要的任务有两个,其一是进行已有软件产品的大数据改造;其二是针对于具体的大数据需求进行全新的大数据应用开发,目前由于是大数据落地应用的初期,所以大数据改造的开发任务会相对多一些,未来新的大数据开发任务会逐渐增加。

相对于大数据开发来说,大数据分析也需要进行代码编写,比如机器学习就是目前比较常见的数据分析方式。机器学习需要进行算法设计、算法实现、算法训练、算法验证和算法应用,虽然算法设计是机器学习的核心,但是算法实现也需要程序员来完成具体的开发过程。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。


瓜果飘香科技


大数据是我的主要研究方向之一,同时也在带大数据方向的研究生,所以我来探讨一下这个问题。

首先,大数据开发通常指的是基于大数据产业链的一系列开发任务,涉及到大数据平台开发、大数据应用开发、大数据分析等,另外还包括数据采集产品的开发、数据整理产品的开发等等,如果向上延伸的话,部分大数据开发任务与人工智能开发任务也具有密切的联系。

大数据平台开发通常有两层含义,一层是进行大数据平台自身的开发,这属于研发级开发任务,比如大数据平台Hadoop就是采用Java语言开发的。整个大数据平台还涉及到一系列产品,包括HBase、Hive、Avro、Zookeeper、Pig、Mahout、Cassandra等,开发这些产品也需要一个庞大的团队。进行大数据平台研发的程序员往往需要具备丰富的开发经验,同时具备较强的研发能力,能够搭建出一个稳定的分布式计算体系。

另一层含义是在大数据平台下进行应用开发,比如在Hadoop、Spark平台下进行具体的大数据应用开发等,这部分开发通常属于应用级开发,难度要相对小一些,但是往往需要与具体的场景进行紧密的联系,需要开发者具备一定的行业背景知识。

目前大数据应用开发主要的任务有两个,其一是进行已有软件产品的大数据改造;其二是针对于具体的大数据需求进行全新的大数据应用开发,目前由于是大数据落地应用的初期,所以大数据改造的开发任务会相对多一些,未来新的大数据开发任务会逐渐增加。

相对于大数据开发来说,大数据分析也需要进行代码编写,比如机器学习就是目前比较常见的数据分析方式。机器学习需要进行算法设计、算法实现、算法训练、算法验证和算法应用,虽然算法设计是机器学习的核心,但是算法实现也需要程序员来完成具体的开发过程。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。


沐靡网络


大数据和大数据平台开发是有区别的,先做个形象比喻平台开发是开发工具,大数据开发是在用工具来开发。

如用hbase来做开发的话,那是对大数据平台本身的开发和优化,应该算是平台开发。在平台开发里边儿有调度系统以及底层的计算引擎和存储引擎开发,以及大数据本身集群管理工具都算大数据平台开发。

大数据开发本身是借助平台对数据做处理。比如编程序,逻辑是从hadoop里用spark把数据读取出来,进行数据变换处理,最后写入存储,最后部署到调度系统执行。这一系列做下来就是大数据开发。




python小白社区


不对。这个问题更适合有实际开发经历的人来回答啊!

【广义地说】,我认为大数据开发和大数据平台开发其实是一回事。为什么呢?

1,大数据开发是对技术的落地实现,根据ETL策略将数据整备;

2,当数据处理完毕后,就不是大数据开发的事了,而是其它技术的事了,如展示、分析、AI等,不能混为一谈!

3,而Hadoop、Hive以及Spark等大数据生态组件是开源工具,并不是什么既有平台,当然开发者也可以二次开发它们甚至重构(一般来说不现实),开发者调用这些组件的API接口,实现数据的ETL萃取-转置-载入等;

4,当开发的时候,开发者需要封装代码复用,提供接口进行扩展,逐渐形成一个应用,那这个应用就逐渐长成一个平台了啊!因此大数据开发和平台开发是一样的意思。

【狭义地说】,开发者可以基于既有的大数据开发平台进行大数据开发,可以省很多事。

—— 纯手动敲出来的文字,谢谢支持!


Manoeuvre


作为IT行业的一名从业人员,我来回答下这个问题。

大数据开发是个广义的开发岗位,大数据平台开发是个狭义的概念。

从职务上来理解,大数据平台开发属于研发级的开发任务,从事人员都是高学历、高技能的人才。大数据开发部分从事企业级应用的开发,是Java程序员进行岗位升级的首选。

大数据平台开发一般指的是平台工具的开发,如Hadoop、Hive、Avro、Zookeeper、Pig、Mahout、Cassandra等,开发这些产品也需要一个庞大的团队。进行大数据平台研发的程序员往往需要具备丰富的开发经验,同时具备较强的研发能力以及算法、数学能力。

大数据开发通常指的是基于大数据产业链的一系列开发任务,涉及到大数据平台开发、大数据应用开发、大数据分析等,另外还包括数据采集产品的开发、数据整理产品的开发等。


希望回答对您有所帮助。

我本人从事多年互联网Java开发,感兴趣的朋友可以关注私聊,共同努力,共同进步。

谢谢!


凯腾凯


很荣幸回答这个问题

我是大数据从业者,做过大数据开发,也参与过大数据平台的全程开发

大数据开发

我认为大数据开发,可以理解为大数据的获取,这就是涉及一些算法和后台编码的问题,主要是解决如何获取数据,如何解决获取不同数据的字符转码问题,以及数据的储存,清洗和管理。涉及,数据获取技术,数据清洗技术,数据储存技术。

大数据平台开发

而大数据平台开发更多的是对现有技术的使用和对数据的使用,如八爪鱼,数点营销(我们的大数据营销系统),起查查等这些都是数据技术的应用和数据使用的平台,利用数据开发及数据技术开发这些平台和在这些上面利用数据开发新增功能等,我认为是才是大数据平台的开发。

欢迎评论,你认为大数据开发于大数据平台开发的区别是什么~


分享到:


相關文章: