首页 > 大数据 > Hadoop > 好程序员大数据培训简述Hadoop常见问题
好程序员大数据培训简述Hadoop 常见问题,近期有不少刚刚接触或者是刚参加大数据培训的小伙伴询问 Hadoop 常见问题有哪些,下面是简单整理的一些内容,现在分享给大家,希望对小伙伴们有所帮助。
1 、现在企业中使用 Hadoop 版本主要是 1.x 还是 2.x?
目前百度,腾讯,阿里为主的互联网公司都是以hadoop 。
a.X 为基准版本的,当然每个公司都会进行自定义的二次开发以满足不同的集群需求。
b.X 在百度内部还没有正式使用,还是以 1.X 为主,不过百度针对 1.X 的问题开发了 HCE 系统 (HadoopC++Expand 系统 ) 。
补充:Hadoop2.x 在其他公司应用的很多,比如京东等。
2 、以后想从事大数据方面工作,算法要掌握到什么程度,算法占主要部分吗 ?
首先,如果要从事大数据相关领域的话,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 脚本命令。
对于因为资源调度导致的不均衡则需要考虑具体的调度算法和作业分配机制。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913864/viewspace-2725026/ ,如需转载,请注明出处,否则将追究法律责任。