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

栏目: 服务器 · 发布时间: 5年前

内容简介:实际上,关于Hadoop及其生态系统的文章或者书籍已经汗牛充栋,在2016年大数据这个概念兴起的时候,有幸于能进入数据行业。虽然,在这2年里,并没有达到自己最初的期望,不过还是跨出了那么一步。这里,我们简单的聊聊Hadoop及其生态圈(系统),不做太深入的探讨。在互联网上经常看到Hadoop和大数据的名词,那么有时候有没有想过什么是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个行业,是件挺危险的事情。如果在事先没有考虑妥当,完全是为了薪资而不是个人兴趣的话,你会很快发现就失去了前行的动力。

无论从事什么岗位,都要不定期的总结和归纳,从而形成自己的知识体系,并扩充自己的软技能。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

High Performance Python

High Performance Python

Micha Gorelick、Ian Ozsvald / O'Reilly Media / 2014-9-10 / USD 39.99

If you're an experienced Python programmer, High Performance Python will guide you through the various routes of code optimization. You'll learn how to use smarter algorithms and leverage peripheral t......一起来看看 《High Performance Python》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试