大数据,机器学习,人工智能玩转大数据程序员

简述Hadoop常见问题有哪些

2019-06-17  本文已影响12人  yoku酱

近期有不少刚刚接触的小伙伴询问Hadoop常见问题有哪些,下面小编简单整理的一些内容,现在分享给大家,希望对小伙伴们有所帮助。

1、现在企业中使用Hadoop版本主要是1.x还是2.x?

目前百度,腾讯,阿里为主的互联网公司都是以hadoop。

a.X为基准版本的,当然每个公司都会进行自定义的二次开发以满足不同的集群需求。

b.X在百度内部还没有正式使用,还是以1.X为主,不过百度针对1.X的问题开发了HCE系统(HadoopC++Expand系统)。

补充:Hadoop2.x在其他公司应用的很多,比如京东等。

2、以后想从事大数据方面工作,算法要掌握到什么程度,算法占主要部分吗?

【大数据开发学习资料领取方式】:加入大数据技术学习交流扣扣群458345782,点击加入群聊,私信管理员即可免费领取

首先,如果要从事大数据相关领域的话,hadoop是作为工具来使用的,首先需要掌握使用方法。可以不用深入到hadoop源码级别细节。

然后就是对算法的理解,往往需要设计到数据挖掘算法的分布式实现,而算法本身你还是需要理解的,例如常用的k-means聚类等。

3、现在spark,storm越来越火,谷歌也发布了Cloud Dataflow,是不是Hadoop以后主要应该学习hdfs和yarn,而且以后Hadoop程序员的主要做的就是把这些东西打包,只提供接口让普通的程序员也能使用,就像Cloudera和Google一样?

这位同学,你多虑了,hadoop和spark,strom是解决不同的问题,不存在哪个好那个坏,要学习Hadoop还是以主流的hadoop-1.X为版本,2.X最主要的就是多了yarn框架,很好理解的。如果你是hadoop本身研发建议都看,如果你是hadoop应用相关研发,看主流的1.X就行。

4、小白问一句,大数据处理都是服务器上安装相关软件吗,对程序有什么影响呢,集群、大数据是属于运维的工作内容还是攻城狮的呢?

传统的程序只能运行在单机上,而大数据处理这往往使用分布式编程框架编写,例如hadoopmapreduce,只能运行在hadoop集群平台上。

运维的责任:保证集群,机器的稳定性和可靠性

hadoop系统本身研发:提高Hadoop集群的性能,增加新功能。

大数据应用:把hadoop作为工具,去实现海量数据处理或者相关需求。

5、大的文件拆分成很多小的文件后,怎样用Hadoop进行高效的处理这些小文件?以及怎样让各个节点尽可能的负载均衡?

a.怎样用Hadoop进行高效的处理这些小文件?

hadoop在处理大规模数据时是很高效的,但是处理大量的小文件时就会因为系统资源开销过大而导致效率较低,针对这样的问题,可以将小文件打包为大文件,例如使用SequcenFile文件格式,例如以文件签名为key,文件内容本身为value写成SequcenFile文件的一条记录,这样多个小文件就可以通过SequcenFile文件格式变为一个大文件,之前的每个小文件都会映射为SequcenFile文件的一条记录。

b.怎样让各个节点尽可能的负载均衡?

在hadoop集群中负载均衡是非常关键的,这种情况的导致往往是因为用户的数据分布的并不均衡,而计算资源槽位数确实均衡分布在每个节点,这样在作业运行时非本地任务会有大量的数据传输,从而导致集群负载不均衡,因此解决不均衡的要点就是将用户的数据分布均衡,可以使用hadoop内置的balancer脚本命令。

对于因为资源调度导致的不均衡则需要考虑具体的调度算法和作业分配机制。

上一篇下一篇

猜你喜欢

热点阅读