扣丁学堂大数据培训浅谈新手需要了解的Hadoop常见问题
如今参加大数据培训的小伙伴有很多,有很多的新手朋友对大数据开发还不是很了解,本篇文章扣丁学堂大数据培训小编就给读者们分享一些新手需要了解的Hadoop常见问题,感兴趣的小伙伴就来看看吧。
1、Hadoop适不适用于电子政务?为什么?
电子政务是利用互联网技术实现政府组织结构和工作流程的重组优化,建成一个精简、高效、廉洁、公平的政府运作信息服务平台。因此电子政务肯定会产生相关的大量数据以及相应的计算需求,而这两种需求涉及的数据和计算达到一定规模时传统的系统架构将不能满足,就需要借助海量数据处理平台,例如Hadoop技术,因此可以利用Hadoop技术来构建电子政务云平台。
总结一下,任何系统没有绝对的适合和不适合,只有当需求出现时才可以决定,在一个非常小的电子政务系统上如果没有打数据处理以及计算分析需求时就不需要hadoop这样的技术,而实际上,商用的电子政务平台往往涉及到大规模的数据和大量的计算分析处理需求,因此就需要Hadoop这样的技术来解决。
2、hadoop对于实时在线处理有优势吗?
直接使用hadoop进行实时处理时没有优势的,因为Hadoop主要解决的是海量批处理作业计算问题,但是可以使用基于Hadoop的分布式NOSQL系统HBase系统以及相关实时处理系统:
a、基于Hadoop的HBase可以做到实时处理以及相关需求的实时计算,主要解决海量相关查询计算等需求。
b、可以考虑Spark计算,Spark是基于共现内存RDD的系统,比Hadoop更快,时候迭代式计算,例如数据挖掘,机器学习算法等。
c、还有Storm,Storm是一个免费开源、分布式、高容错的实时计算系统,Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域。
d、考虑S4,S4是Yahoo!在2010年10月开源的一套通用、分布式、可扩展、部分容错、具备可插拔功能的平台。这套平台主要是为了方便开发者开发处理流式数据(continuous unboundedstreamsofdata)的应用。
你可以依据实际的需求来选择合适的系统。
3、Hadoop存储海量数据没有问题,但是如何能够做到海量数据的实时检索?
a、可以结合开源的搜索引擎Apache Lucene,Solr或ElasticSearch
b、海量数据的实时检索可以考虑HBase,建议可以使用hadoop将数据构建成以查询key为键的数据集,然后将value>集合写入Hbase表中,Hbase会自动以key为键进行索引,在数十亿甚至以上的级别下,查询key的value响应时间也估计再10毫秒内。
如果检索条件是多个组合的情况下,可以适当的设计多个hbase表格,这样的检索也是很快的,同时Hbase也是支持二级索引。在符合条件下查询,Hbase也是支持MapReduce的,如果对响应时间要求不高的情况下,可以考虑将hive和Hbase系统结合来使用。
如果数据量不是很大的情况下也可以考虑支持类似SQL的NOSLQ系统。
4、能不能给点hadoop的学习方法以及学习规划,hadoop系统有点庞大,感觉无从学起?
首先搞清楚什么是hadoop以及hadoop可以用来做什么?
然后,可以从最经典的词频统计程序开始,初步了解MapReduce的基本思路和处理数据的方式。
接着,就可以正式学习hadoop的基本原理,包括HDFS和MapReduce,先从整体,宏观核心原理看,先别看源码级别。
进一步,就可以深入HDFS和MapReduce和模块细节,这个时候可以结合源码深入理解,以及实现机制。
最后就是需要实战了,可以结合自己的项目或者相关需求来完成一些hadoop相关应用。
5、c/c++
程序员如何入门Hadoop到深入了解,并在Linux服务器上布置运用,有没有方向性的指导?
针对C/C++用户,Hadoop提供了hadoop
streaming接口和pipes接口,hadoop
streaming接口以标准输入和标准输出作为用户程序和hadoop框架交互的中间件,pipes这是专门针对C/C++语言的接口,以socket作为同学中介。
从使用上建议从streaming入手,pipes相比streaming问题比较多,而且pipes调试不容易。
6、学习hadoop该怎么入手呢?应该做一些什么样的项目呢?
可以参考我们上面的几个回答,可以从最简单词频统计程序入手,然后学习理解HDFS和MapReduce的基本原理和核心机制,如果仅仅把Hadoop作为一个工具来使用的话这样就可以了,最重要的就是实战了,可以尝试使用Hadoop处理一些数据,例如做日志分析,数据统计,排序,倒排索引等典型应用。
最后想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询,扣丁学堂有专业老师制定的大数据学习路线图辅助学员学习,此外还有与时俱进的大数据视频教程供大家学习,想要学好大数据开发的同学请加入扣丁学堂学习吧。
Pyhon基础课程:https://ke.qq.com/course/327534?flowToken=1008607 【扫码进入Python全栈开发免费公开课】
H5基础课程:https://ke.qq.com/course/320523?flowToken=1008606【扫码进入HTML5前端开发VIP免费公开课】
注:点击(了解更多)进入课程直播间