Hadoop学习笔记系列

 

一、为何要学习Hadoop?

  这是一个信息爆炸的时代。经过数十年的积累,很多企业都聚集了大量的数据。这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼数成金成为当务之急。但数据增长的速度往往比cpu和内存性能增长的速度还要快得多。要处理海量数据,如果求助于昂贵的专用主机甚至超级计算机,成本无疑很高,有时即使是保存数据,也需要面对高成本的问题,因为具有海量数据容量的存储设备,价格往往也是天文数字。成本和IT能力成为了海量数据分析的主要瓶颈。

  Hadoop这个开源产品的出现,打破了对数据力量的压制。Hadoop源于Nutch这个小型的搜索引擎项目。而Nutch则出自于著名的开源搜索引擎解决方案Lucene,而Lucene则来源于对Google的学习模仿。在Hadoop身上有着明显的Google的影子。HDFS是GFS的山寨版,Map-Reduce的思想来源于Goolge对Page rank的计算方法,HBase模仿的是Big Table,Zookeeper则学习了Chubby。Google巨人的力量尽管由于商业的原因被层层封锁,但在Hadoop身上得到了完美的重生和发展。

  从2006年Apache基金会接纳Hadoop项目以来。Hadoop已经成为云计算软件的一个事实标准,以及开源云计算解决方案的几乎唯一选择。对于想用低成本(包括软硬件)实现云计算平台或海量数据分析平台的用户,Hadoop集群是首选的对象。由于Hadoop在各方面都打破了传统关系型数据库的思路和模式,对于新接触Hadoop平台的人,往往会觉得困惑和难以理解,进而转化为畏惧。

  因此,为了赶上大数据时代的发展,迎接云计算的思维,尽管我做的是.NET的应用开发工作,但我仍然选择业余时间学习Hadoop。我会从Hadoop1.x版本开始学习经典的HDFS与MapReduce,然后了解Hadoop2.x版本与老版本的差异,熟悉一些常见的Hadoop应用场景,并学着实践一个最经典的项目(网站日志数据分析案例)来完成我给自己规划的学习任务。

二、Hadoop笔记系列索引

2.1 基础环境部分:

  (1)基础介绍与环境搭建

  (6)Hadoop Eclipse插件的使用

  (13)分布式集群中节点的动态添加与下架

2.2 HDFS部分:

  (2)不怕故障的海量存储之HDFS基础入门

  (3)Hadoop RPC机制的使用

2.3 MapReduce部分:

  (4)初识MapReduce

  (5)自定义类型处理手机上网日志

  (7)计数器与自定义计数器

  (8)Combiner与自定义Combiner

  (9)Partioner与自定义Partitioner

  (10)Reduce阶段中的Shuffle过程

  (11)MapReduce中的排序和分组

  (12)MapReduce中的常见算法

2.4 ZooKeeper部分:

  (14)ZooKeeper环境搭建

2.5 HBase部分:

  (15)HBase框架学习之基础知识篇

  (15)HBase框架学习之基础实践篇

2.6 Pig部分:

  (16)Pig框架学习

2.7 Hive部分:

  (17)Hive框架学习

2.8 Sqoop部分:

  (18)Sqoop框架学习

2.9 Flume部分:

  (19)Flume框架学习

2.10 项目实战部分:

  (20)网站日志分析项目(一)项目介绍

  (20)网站日志分析项目(二)数据清洗

  (20)网站日志分析项目(三)统计分析

2.11 Hadoop2部分:

  (21)Hadoop2的改进内容简介

  (22)Hadoop2.x环境搭建与配置

  

Hadoop学习笔记系列的更多相关文章

  1. Hadoop学习笔记系列文章导航

    一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼数成金成为当务之急.但数据增长 ...

  2. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  3. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  4. Dynamic CRM 2013学习笔记 系列汇总

    这里列出所有 Dynamic CRM 2013学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址: Dynamic CRM 2013学习笔记 系列汇总 ...

  5. SQLServer学习笔记系列3

    一.写在前面的话 今天又是双休啦!生活依然再继续,当你停下来的时候,或许会突然显得不自在.有时候,看到一种东西,你会发现原来在这个社会上,优秀的人很多,默默 吃苦努力奋斗的人也多!星期五早上按时上班, ...

  6. SQLServer学习笔记系列2

    一.写在前面的话 继上一次SQLServer学习笔记系列1http://www.cnblogs.com/liupeng61624/p/4354983.html以后,继续学习Sqlserver,一步一步 ...

  7. Dynamic CRM 2015学习笔记 系列汇总

    这里列出所有 Dynamic CRM 2015学习笔记 系列文章,方便大家查阅.有任何建议.意见.需要,欢迎大家提交评论一起讨论. 本文原文地址:Dynamic CRM 2015学习笔记 系列汇总 一 ...

  8. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

  9. Hadoop学习笔记(6) ——重新认识Hadoop

    Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...

随机推荐

  1. IDEA中git的配置与使用

    IDEA中git的配置与使用 1.介绍 git是目前非常流行的版本管理管理软件,因其具有分布式特点,越来越受到企业的欢迎.IDEA作为一款优秀的开发软件,其内部也提供了对git的支持. 2.下载并安装 ...

  2. DEM精度评价自动化系统的成果展示

     程序员:左正康 完成时间:2013/12/3 系统开发背景: 原始的DEM精度评价方法:采用ArcGIS结合Excel的方式完成DEM的精度评价.具体操作是:利用ArcGIS工具箱中的创建TIN,T ...

  3. 【洛谷2605】[ZJOI2010] 基站选址(线段树维护DP)

    点此看题面 大致题意: 有\(n\)个村庄,每个村庄有\(4\)个属性:\(D_i\)表示与村庄\(1\)的距离,\(C_i\)表示建立基站的费用,\(S_i\)表示能将其覆盖的建基站范围,\(W_i ...

  4. 字符串处理(POJ1782)

    题目链接:http://poj.org/problem?id=1782 解题报告: #include <iostream> #include <cstdio> #include ...

  5. spring依赖注入(转)

    转自:https://blog.csdn.net/taijianyu/article/details/2338311/ Spring 能有效地组织J2EE应用各层的对象.不管是控 制层的Action对 ...

  6. 基于Mybatis的Dao层开发

    转自:https://www.cnblogs.com/rodge-run/p/6528398.html 基于Mybatis的Dao层开发 SqlSessionFactoryBuilder用于创建 Sq ...

  7. CentOS6.5手动升级gcc4.8.2

    一.简易安装 操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2 不能通过yum的方法升级,需要自己手动下载安装包并编译 本文记录了在Cent ...

  8. 2017.10.16 java中getAttribute和getParameter的区别

    (1)getAttribute:表示得到 域中的对象 返回的是OBJ类型;  getParameter:表示 得到 传递的参数 返回的是String类型; 也就是getAttribute获得的值需要进 ...

  9. IIS无法识别的属性targetFramework

    出现这种错误是因为发布网站时iis的应用程序池默认使用的是.net framework v2.0.50727.4927,而开发的网站用的是.net framework 4.5,所以会出现这种错误. 我 ...

  10. Swift小记一

    1.输出地址 print(String(format: "%p", "temp")) 2.判断字符串是否为空串.是否为nil 为String添加一个分类 ext ...