Hadoop 就业前景如何?

[复制链接]
zenger 发表于 2023-10-3 19:49:56|来自:北京 | 显示全部楼层 |阅读模式
Hadoop 就业前景如何?
全部回复5 显示全部楼层
sohosky 发表于 2023-10-3 19:50:50|来自:北京 | 显示全部楼层
一:hadoop是什么

Hadoop是一个由Apache基金会所开发的开源分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。解决了大数据(大到一台计算机无法进行存储,一台计算机无法在要求的时间内进行处理)的可靠存储和处理。适合处理非结构化数据,包括HDFS,MapReduce基本组件。
1.Hadoop版本衍化历史
由于Hadoop版本混乱多变对初级用户造成一定困扰,所以对其版本衍化历史有个大概了解,有助于在实践过程中选择合适的Hadoop版本。
Apache Hadoop版本分为分为1.0和2.0两代版本,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。下图是Apache Hadoop的版本衍化史:



  第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版。
第二代Hadoop包含两个版本,分别是0.23.x和2.x,它们完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS Federation和YARN两个系统,相比于0.23.x,2.x增加了NameNode HA和Wire-compatibility两个重大特性。



  Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop,也正因此,市面上出现了很多Hadoop版本,其中比较出名的一是Cloudera公司的发行版,该版本称为CDH(Cloudera Distribution Hadoop)。
截至目前为止,CDH共有4个版本,其中,前两个已经不再更新,最近的两个,分别是CDH3(在Apache Hadoop 0.20.2版本基础上演化而来的)和CDH4在Apache Hadoop 2.0.0版本基础上演化而来的),分别对应Apache的Hadoop 1.0和Hadoop 2.0。
2.Hadoop生态圈
架构师和开发人员通常会使用一种软件工具,用于其特定的用途软件开发。例如,他们可能会说,Tomcat是Apache Web服务器,MySQL是一个数据库工具。
然而,当提到Hadoop的时候,事情变得有点复杂。Hadoop包括大量的工具,用来协同工作。因此,Hadoop可用于完成许多事情,以至于,人们常常根据他们使用的方式来定义它。
对于一些人来说,Hadoop是一个数据管理系统。他们认为Hadoop是数据分析的核心,汇集了结构化和非结构化的数据,这些数据分布在传统的企业数据栈的每一层。对于其他人,Hadoop是一个大规模并行处理框架,拥有超级计算能力,定位于推动企业级应用的执行。还有一些人认为Hadoop作为一个开源社区,主要为解决大数据的问题提供工具和软件。因为Hadoop可以用来解决很多问题,所以很多人认为Hadoop是一个基本框架。
虽然Hadoop提供了这么多的功能,但是仍然应该把它归类为多个组件组成的Hadoop生态圈,这些组件包括数据存储、数据集成、数据处理和其它进行数据分析的专门工具。


该图主要列举了生态圈内部主要的一些组件,从底部开始进行介绍:
1) HDFS:Hadoop生态圈的基本组成部分是Hadoop分布式文件系统(HDFS)。HDFS是一种数据分布式保存机制,数据被保存在计算机集群上。数据写入一次,读取多次。HDFS为HBase等工具提供了基础。
2)MapReduce:Hadoop的主要执行框架是MapReduce,它是一个分布式、并行处理的编程模型。MapReduce把任务分为map(映射)阶段和reduce(化简)。开发人员使用存储在HDFS中数据(可实现快速存储),编写Hadoop的MapReduce任务。由于MapReduce工作原理的特性, Hadoop能以并行的方式访问数据,从而实现快速访问数据。
3) Hbase:HBase是一个建立在HDFS之上,面向列的NoSQL数据库,用于快速读/写大量数据。HBase使用Zookeeper进行管理,确保所有组件都正常运行。
4) ZooKeeper:用于Hadoop的分布式协调服务。Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。
5) Hive:Hive类似于SQL高级语言,用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。像Pig一样,Hive作为一个抽象层工具,吸引了很多熟悉SQL而不是Java编程的数据分析师。
6) Pig:它是MapReduce编程的复杂性的抽象。Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin)。其编译器将Pig Latin翻译成MapReduce程序序列。
7) Sqoop:是一个连接工具,用于在关系数据库、数据仓库和Hadoop之间转移数据。Sqoop利用数据库技术描述架构,进行数据的导入/导出;利用MapReduce实现并行化运行和容错技术。
如果你对大数据开发感兴趣,想系统学习大数据的话,可以戳我加入大数据技术学习交流群,了解课程,获取学习资源
二:hadoop就业前景
随着大数据产业越来越被重视,Hadoop及相关技术在催生了大量企业应用需求的同时,自然而然地就催生了对熟悉大数据处理的人才需求。
  一位来自资深研究所的分析家便指出 ,“Hadoop是一种新型的数据仓库,它是企业内部的一种新型数据来源”。相比于传统的关系型数据库,Hadoop的优势在于它能储存与管理更多的结构化与非结构化的数据。
  如今的大数据时代,为了开拓客户,提升业务水平,企业需要更加关注对数据的存储与分析,这些数据来自各个方面,比如微博、微信公众号、网站点击率,社交媒体内容等。那么一个直接的问题是,由谁来分析这些数据?如何分析提炼这些数据?很显然,是需要那些具有高级数据分析能力的专业人士,具体来说,他们的能力应该包括:数据分析、数据挖掘、预测建模、自然语言处理、内容分析、文本分析以及社交网络分析能力等。
  对于Hadoop来说,他们还必须学会使用MapReduce来预测和统计建模。不仅如此,对于Hadoop平台的管理人员而言,他们必须能够胜任Hadoop集群、安全性管理以及性能优化等工作。分析人士指出:“Teradata和Oracle Exadata的数据库管理员也开始纷纷向Hadoop集群管理员转型。他们意识到这是一个全新的领域。”当然,这些专业人士也会把现有的关系数据库的相关策略带到Hadoop平台上。

  一位从事Hadoop相关软件的销售主管指出,“目前针对Hadoop专业人士的需求可以分为三类,分别是数据分析家/数据科学家、数据工程师、IT数据管理专业人士。”
  第一类是Hadoop数据分析家,他们熟知如何选择、安装及管理Hadoop集群。他们将决定是否部署云端Hadoop,选择哪些Hadoop供应商、如何分配Hadoop资源、配置集群,以及如何调试与运行Hadoop应用程序等。在这一点上,与传统关系型数据库以及数据仓库的数据分析家相比,可谓是大同小异。
  第二类是Hadoop数据工程师,他们主要负责数据的处理,实现MapReduce算法。随着企业Hadoop应用的日益增长,那些具有Java、C++等编程经验的工程师将会找到更多的工作机会。
  第三类是Hadoop数据管理员,他们通常具有SAS与SPSS以及编程能力的专业数据科学家。他们熟知如何在Hadoop环境中如何创建、分析、共享,集成BI。
  目前的形势是Hadoop人才短缺,一些公司不得不依赖Hadoop厂商提供部署等技术支持。Cloudera、MapR、Hortonworks以及IBM这些等Hadoop厂商公司目前现在提供Hadoop相关技术培训课程,来帮助企业部署Hadoop中心。
efg4960 发表于 2023-10-3 19:51:34|来自:北京 | 显示全部楼层
首先,我认为会越来越好。
任何以互联网服务为核心价值的 互联网公司,都会需要hadoop相关的人才。
问:hadoop对业务的价值是什么?
答:hadoop是用来做大数据存储和分析的。
数据分析(bi)是用来找到公司关注的核心metric,反哺于公司的业务层决策。当然hadoop生态也提供hbase这样的kv数据库。
问:hadoop什么时候,对什么样的公司价值大?
答:hadoop只对上了一定规模,需要分析公司的核心数据metric时,用mysql技术栈越来越难解决,甚至解决不了时,产生价值。数据量大到一定程度时,目前业界也只有hadoop才能[稳定的]完成出这些数据的分析。
再说说看普通的公司。
一、一个刚起步的公司,不论互联网公司也好,传统公司进行了不错的信息化也好。产生的数据都不会很多。因为活跃的用户数量不多,用户在你的app,web-site, 甚至微信公众号,产生的行为也不会很多。在这个阶段,数据量不会很大,可能有几百,上千用户。 平均用户日活,pv,uv也就是几万,十万级别。数据都是存储在关系型数据库里的。大概率都是mysql。
二、然后公司拿了第一笔融资,开始做小规模推广。用户发展到几万人,日活,产生的数据到了百万,甚至千万级别。公司招来了技术大牛,开始做mysql的分库分表。开始把业务数据库按天拆表拆库。开始每天,每周,每月跑批,做数据的etl。这时候需要很多很多的优秀dba,配合优秀的业务层开发人员,勉强可以hold住。但是随着业务的推广力度加大,随着业务的增长,随着老板想看到更多更多用户相关的数据,工作会很累很累。单说分库分表后,去调整业务线的代码,就够业务开发人员喝一壶了。
三、公司迅速发展,可能拿到了更多后续轮的融资,开始大规模的扩张。公司有时需要做精准推广,有时需要给某些用户推送一些短信,这都需要你对用户很了解,要知道你的每次商业行为的目标用户是哪一类人。用户发展到几十万,上百万后。用户在你的app/website的很多行为,都会存下来,这时mysql就有些为难了。
视屏网站需要知道哪些用户,看了《微微一笑很倾城》,哪些看了1/3退出了,哪些看完才退出了。需要知道同样推送了广告时,用户在播放60s留存率、45s留存率、30s留存率。这些庞大的数据,几十上百万的用户在不停的产出。这时就只能存储在hadoop。
打车公司全国几百万人每天打车。每个区域,不同的补贴力度,用户的活跃度的变化。公司需要计算。也可以把这些用户在不同的时间点在哪些区域活跃,计算出来,广播给司机朋友们。
电商公司,全国几千万上亿用户,你每天浏览了哪些商品,对近期浏览的商品,哪些反复的看,但是没有下单,公司需要知道。哪些商品在网站特定的营销位置,做了力度多大的促销,对销量产生了哪些影响,等等。公司都需要知道。
等等等等。没有hadoop,你都没有办法记录这些数据,也没有办法能在这么庞大的数据上,找到你想知道的用户到底干了什么,是什么样子,从而也就没有办法在商业上做更好的决策。

任何的技术,要有广泛的应用和价值,都需要在当下的商业社会,产生不可替代的价值。我想hadoop也会如此。
hadoop入门后,做精做细不容易,因为技术栈太深太庞大,做好就是任重而道远。
如果把mysql 技术栈比做 一把轻巧的铁剑,hadoop就是一把沉重的大刀。很难耍起来,但掌握好了并挥起来,威力很大。
ahgwork 发表于 2023-10-3 19:52:15|来自:北京 | 显示全部楼层
大数据库DBA怎么能没有人要,
joevan 发表于 2023-10-3 19:52:43|来自:北京 | 显示全部楼层
08年云计算到现在的大数据……还停留在搭建环境阶段的同学……内什么我就不吐槽了,现在任何公司是个人有两三天就会搭建环境了。
现在一线的人才状况是:
普遍需要2-3年hadoop经验的大牛,如果你只会搭建环境,那基本是没人想带你的。
当然,如果你基础非常扎实又肯干,那机会还是相当多的。
理解大数据的话就知道它和hadoop之间没有必然联系,甚至可以说没有很直接的联系。
不去盲目的追求任何一种技术,而是通过自己的实践观察,在实际的体验和业务中将技术融会贯通,旧的是基石,新的是提炼,hadoop也不过是Google论文下的一只小虾米,仅此而已,认清楚自己和技术的关系才最为重要,技术永远是你用来提升对这个社会理解的小工具,情商永远比智商重要。
怎么才能学好Hadoop,进入云的世界,这里给几点建议:
1. 打好你的Java基础,C我就不说了,那是基本功。
2. 详细研究,理解一下现在大型网站包括Sina,腾讯网(门户),Weibo(微博),天猫,京东(电商)的架构与实现,先从自己的角度去理解,然后去跟实际情况做比对,提升自己对数据和技术的敏感程度。在这个阶段,如果能分门别类的规划出不同类型网站的需求和使用的特定方向的技术,对“云”和“大数据”的理解就更加透彻而非表层停留。
3. 科班的同学,在学校的以基础为根基,在公司的以业务为导向,这样的技术才不盲目,这样的技术才脚踏实地。
对很多人来说,技术都不是一生的职业导向,那么,提升自己的眼界,站在更高的角度思考问题就显得尤为重要,从自己,到团队,公司,再到整个业界,眼界宽广了,技术也就是你的左膀右臂。

hadoop只是云计算的一隅,任何东西学的深入了都会发生质变。更多的云,可以去学习一下Amazon,Openstack,。书的话,大象那本书入门,然后对hadoop仍然感兴趣的话,建议直接进到源码中去。
ztl1981 发表于 2023-10-3 19:53:15|来自:北京 | 显示全部楼层
1、不论什么技术,搞精了都有不错的就业前景;
2、如今移动互联网发展迅猛,后台云计算、分布式方面的技术必不可少;
3、具我了解,不仅仅互联网公司,不少软件公司在Hadoop方面也有很大投入;
4、在国内相关概念的确被炒作的过了头,不过背后的技术确实是实在、大有用武之地的;
5、结论:我的观点是Hadoop这个方向值得探索。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则