要不,我们简单聊聊Hadoop跟它的生态圈

实际上,关于Hadoop及其生态系统的文章或者书籍已经汗牛充栋,在2016年大数据这个概念兴起的时候,有幸于能进入数据行业。虽然,在这2年里,并没有达到自己最初的期望,不过还是跨出了那么一步。
这里,我们简单的聊聊Hadoop及其生态圈(系统),不做太深入的探讨。

Hadoop是什么?

在互联网上经常看到Hadoop和大数据的名词,那么有时候有没有想过什么是Hadoop呢?
Hadoop是什么,是1个使用Java编写的分布式系统架构。它让用户在不了解分布式底层细节的情况下,可以开发出分布式程序,并充分利用集群进行高速运算和存储。
现在,你应该知道Hadoop是什么了吧。

Hadoop的组成

在Hadoop的框架版本1.0中,最核心的设计是:

  • HDFS
  • MapReduce

其中HDFS是Hadoop Distributed File System的缩写,是1个分布式文件系统,实际操作与POSIX(如Unix、Linux)系统的操作类似。这个文件系统提供了海量数据的存储,可以部署在低廉的硬件上。这对企业来说是1个很不错的选择,在硬件成本上降低了不少却完成了任务。
而MapReduce主要是为海量数据提供了计算。这样,通过Hadoop这个架构,我们就可以实现对海量数据的存储、访问与计算。
而在Hadoop版本2.0中,其核心设计演变为:

  • HDFS
  • YARN

在这里,MapReduce被YARN所替代。YARN是1个Hadoop的资源管理器,它为上层应用提供了统一的资源管理和调度。它的引入,为集群在利用率、资源统一管理和数据共享等方面带来了巨大的好处。此时的Hadoop就不再是1个简单MapReduce处理的架构了。

Hadoop适合怎样的应用场景?

对于Hadoop适应的应用场景的问题,我们先来说下它不适合的场景:

  • Hadoop不适合实时计算与分析方面的应用
  • Hadoop不适合大量小文件处理场景
  • Hadoop不适合低延迟数据访问场景
  • Hadoop不适合多用户写入的场景

由于Hadoop在设计的最初被设计为针对超大文件及流式数据访问,因此Hadoop适合如下一些场景:

  • 日志处理
  • 非实时的数据分析
  • 海量存储,比如ETL
  • 广告推荐
  • 离线计算

需要注意的是,Hadoop只是1个架构。具体的应用场景,还需要借助它生态圈的其他工具来完善。

Hadoop的生态圈有哪些?

Hadoop的生态圈主要包括:

  • Hive,提供数据仓库的数据分析
  • Pig,提供数据流处理
  • Mahout,提供数据挖掘相关算法
  • HBase,提供分布式、实时、高维数据库
  • Sqoop,提供关系型数据库数据与Hadoop的导入导出
  • Flume,提供日志收集
  • Zookeeper,提供分布式协作服务

其结构如下图所示:

hadoop生态圈

Hadoop有哪些替代产品?

由于Hadoop设计的问题以及企业业务的要求,存在如下一些替代Hadoop的产品:

  • Spark
  • Flink
  • disco

其中以Spark作为代表,最有潜力可以替代Hadoop。但是需要注意的是,Hadoop只是1个工具,存在其他替代品是很正常的。但是,这并不代表Hadoop会在未来就消失,只是在某些场景上使用的更少一些而已。
毕竟,Hadoop已经比较成熟和稳定,生态也相对完善,因此企业也喜欢应用。

Hadoop与Spark有什么区别?

Spark是另外1个大数据处理框架,相比Hadoop,其将计算数据存储在内存而不是硬盘,因此计算性能上比Hadoop快很多,可以作为Hadoop的1种补充。
相比Hadoop,Spark更适用于实时处理与分析的场景,另外在Spark中还提供了图计算GraphX及机器学习的Mlib库,通用性比Hadoop更强一些。
另外,Spark不是非要依附在Hadoop上才能生存,它可以与其他的分布式文件系统进行集成来运作。对于大数据开发来说,很多情况下是堆积木的1个过程。
对于大数据的技术栈而言,存在多个可选的方案而不是完全替代的方案。毕竟在软件工程项目中,是要考虑成本的,我们需要根据项目的经费选择合适的技术方案。

学习Hadoop能拿高薪吗?

任何1门高薪的职业,必定有其不可替代的技术门槛和技能要求,比如基金经理,必定是金融行业那么一撮的精英的存在,但是人家也要至少花个1亿美金的操练才可能称为称职的职业人士。
如果单纯觉得学习1个Hadoop就可以拿到高薪,那只能是痴人说梦话。当然,不排除一些培训机构会打着这样的幌子让你去培训。而要拿到高薪需要具有如下一些条件:

  • 有这样需求和给得起钱的企业
  • 你具有相关的职业技能
  • 你具有相关的学历
  • 具备相关面试技巧

在2018年,可以说大家都过得小心翼翼,加薪是1件不容易的事情。伴随着2018各家厂商的裁员,人们在互联网的冬天的呼喊中迎来2019年爆竹声。随着资本会在2019年逐渐回归本质,但是要真的想通过大数据拿到高薪还是1件不容易的事情。
据不准确统计,实际上在招聘中很多企业虽然给出了大数据相关的岗位,但是并不代表它能提供给你合适的岗位。很多中小型企业招聘1个职位,实际上很多情况下它也不知道具体的岗位要求是什么,只能在网上搜罗一些关键词进行填写。可想而言,开出的薪资自然不尽如意。
另外,有些企业只是为了单纯的刷新存在感,发布一些招聘职位,而并不打算招聘,为了避免浪费时间,还需要擦亮眼睛。
排除了上述第1个外部原因,需要有这样需求和给得起前的企业的外因后,那么剩下的内因就是招聘人员自身的水平了。
首先,1家靠谱的企业总有完善的招聘流程,如果自己不是过硬的学历,比如985院校毕业。那么,要进入大数据行业真的会被拒之门外。另外,要想拿高薪,还需要具备过硬的心理素质和技术能力,而不是我对Hadoop及其生态系统有所了解,就可以轻松进入的。
在大数据行业中,加班加点是常饭,因为数据有时候真的很令人堪忧,自然是逃脱不了的事情。
当然,万事都不是绝对的。有些企业还是要转型的,会开设这样的研发部门,此时还是比较容易进去的。

有必要进入大数据行业吗?

大数据行业的工作,是1个考验综合能力的职位,绝不是网上一些公众号宣称的那么神奇和简单。
如果只是为了高薪而随意进入1个行业,是件挺危险的事情。如果在事先没有考虑妥当,完全是为了薪资而不是个人兴趣的话,你会很快发现就失去了前行的动力。
无论从事什么岗位,都要不定期的总结和归纳,从而形成自己的知识体系,并扩充自己的软技能。

若文章对您有帮助,请打赏1块钱。您的支持,可以让我分享更多精彩的文章。转载请注明来源


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。