Hadoop认知--在不同的阶段
入门阶段
出于兴趣,及工作中的简单有用,大约经过1个月的时间,完毕了对Hadoop的基本认知。
在这个月中我干了例如以下几件事
1、大体看了《Hadoop权威指南》。把里面的代码手工码了一遍,并写了8篇学习笔记
2、配置了Hadoop1和Hadoop2集群。都是用4台虚拟机
3、听了一些Hadoop视频
基本认知例如以下
Hadoop是一种大数据处理框架,这样的大数据框架所能处理的场景实际是很很有限的,仅仅能是键值对数据,仅仅能是一行一行的固定格式化的数据,这样的特性决定了它很适合用来处理日志类文件。进行数据分析和挖掘。
Hadoop的核心是HDFS和MapReduce。HDFS是一种分布式的文件系统,MapReduce就是上面说的键值对计算模型。每次MapReduce计算任务都有一个固定的任务运行流程。所以对于小量数据分析来说(比方几万行数据),MapReduce事实上一点都不快。用其它的编程方式处理,事实上瞬间就完毕了,MapReduce的这样的工作方式仅仅适合处理大数据,当然,Hadoop本身就是为大数据而生的。
Hive被我略过了。认知肤浅,先忽略。
Hbase所谓使用的变态数据插入场景,可能实际工作非常难遇到,而且Mongo更易用,我做搜索推荐时。实际是使用Mongo存储中间数据及计算结果。
Cassandra,被略过了,工作中使用redis。而且redis3.0開始。支持分片了,简单易用,性能高效。
Pig,当前没有意愿花时间去学这样一个脚本语言。对于有大量基于Hadoop进行查询分析业务的公司,可能有使用的必要。
Sqoop,没有使用,先忽略。
Zookeeper,这真是个好东西,非常多开源框架都使用Zookeeper作为开分布式协调中心。比方Dubbo、Otter等。
从学习成本角度。横向比較的话,我感觉Hadoop能够说和MySql之类是一个量级的产品,非常快会用。可是想进阶,想精通,就须要在理论的基础上,在应用中不断的实践了。
进阶阶段
通过大量的日常工作中的Hadoop的使用。能够达到进阶阶段。
工作使用较少,我还是入门水平。期望有大量使用的机会,早日进阶。也让我知道在进阶阶段,我会对Hadoop是如何的一个认知,再回来补充这篇日志