【学习】Hadoop大数据学习线路图

入门知识

对于我们新手入门学习hadoop的朋友来说,首先了解一下云计算和云计算技术是有必要的。下面先是介绍云计算和云计算技术的:

云计算,是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备,主要是基于互联网的相关服务地增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务地交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算也可作为一种商品通过互联网进行流通。

什么是云计算?

什么是云计算技术?

在世界上云计算已经大面流行,有很流行的Google、Drive、SkyDrive、Dropbox、亚马逊云服务等等。在国内百度云存储、360云存储都是比较流行的。

我们接下来就应该会想到大数据存储,目前开源市场上最流行的应该是hadoop分布式存储,已经有大部分互联网公司已经开始使用,例如百度、360、阿里巴巴,其中一部分公司已经把hadoop作为他们的核心产品例如英特尔、IBM并为部分工作提供过大数据的解决方案,

大家可以了解一下英特尔在不行业提供的解决方案:

· 面向智能交通的大数据和英特尔® 智能系统解决方案

· 物联网商机和技术挑战(英特尔)

· 大数据在医疗行业的应用

· 英特尔IT开源混合云

Hadoop基础

Hadoop是一个能够对大量数据进行分布式处理的软件框架,它是一种技术的实现,是云计算技术中重要的组成部分,云计算的概念更广泛且偏向业务而不是必须拘泥于某项具体技术,云计算的存在只是一种新的商业计算模型和服务模式。因此,云计算才会出现“横看成岭侧成峰,远近高低各不同”,各种各样层出不穷的理解。

对于初学hadoop的朋友来说可能基于迫切寻找一本入门的书,我个人觉得不用于急于寻找书,先了解hadoop是否做什么、它能做什么、能带来什么 hadoop使用场景、Hadoop到底能做什么?怎么用hadoop?,当大家对这些有所了解,就会如何入手学习hadoop接下来大家应该进行系统性的学习hadoop了,我个人建议不要盲目的去搭建hadoop环境,熟悉了解hadoop基本知识及其所需要的知识例如java基础、linux环境、linux常用命令,它相关产品及其衍生产品,他们之间是什么关系如何工作,每个产品它们的特点是什么,

下面是hadoop一些基本知识:

1 hadoop HDFS文件系统的特征

  • 存储极大数目的信息(terabytes or petabytes),将数据保存到大量的节点当中。支持很大单个文件。
  • 提供数据的高可靠性,单个或者多个节点不工作,对系统不会造成任何影响,数据仍然可用。
  • 提供对这些信息的快速访问,并提供可扩展的方式。能够通过简单加入更多服务器的方式就能够服务更多的客户端。
  • HDFS是针对MapReduce设计的,使得数据尽可能根据其本地局部性进行访问与计算。

2 Hadoop简介(1):什么是Map/Reduce

3 Mapreduce 整个工作机制图

4 Hadoop mapper类的阅读

5 Hadoop reducer类的阅读

6 Mapreduce shuffle和排序

上面这些都是hadoop核心部分,当这些有所了解后,大家基本上可以具备大家hadoop环境的条了。hadoop部署方式为单机模式、伪分布式、完全分布式。对单机模式大家可以不用去关心和学习,在学习中我个人建议是搭建伪分布式,完全分布式是生产环境中使用,当大家把伪分布式后,必须对完全分布式有所了解,知道是如何工作的,也可以试着搭建hadoop的完成分布式。现在hadoop已经发行了最新的2.2.x版本,但是不测试不够全面不够稳定,大家应该选择比较稳定的版本学习,因为在公司中还是会使用稳定的版本,2.2.x版本中一些处理机制和方案是值得我们学习的,需要有所了解的是, Hadoop 各个发布版的特性以及稳定性。

下面是搭建hadoop的安装步骤:

搭建伪分布式:hadoop 伪分布式搭建 完全分布式:hadoop 三节点集群安装配置详细实例

大家这些有了基础性的学习后,这时候是比较适合找本书来系统性的学习hadoop。

· Hadoop权威指南(第2版) 分享地址:http://pan.baidu.com/s/1iNuj 密码:ywwh

· hadoop相关文档下载 链接: http://pan.baidu.com/s/1gdwtu1t 密码: slml

有一点想提醒初学的朋友,在学习hadoop开发的时候不要使用hadoop eclipse插件,这样会给你带来不必要的问题,你可以在eclipse使用maven工具下载hadoop资源包,然后写好mapreduce代码打包后传上自己的服务,使用命令启动运行。

Hadoop家族产品

截止到2013年,根据cloudera的统计,Hadoop家族产品已经达到20个! http://blog.cloudera.com/blog/2013/01/apache-hadoop-in-2013-the-state-of-the-platform/

接下来,我把这20个产品,分成了2类。

  • 第一类,是我已经掌握的
  • 第二类,是TODO准备继续学习的

一句话产品介绍:

  • Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架构。
  • Apache Hive: 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
  • Apache Pig: 是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。
  • Apache HBase: 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
  • Apache Sqoop: 是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
  • Apache Zookeeper: 是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务
  • Apache Mahout:是基于Hadoop的机器学习和数据挖掘的一个分布式框架。Mahout用MapReduce实现了部分数据挖掘算法,解决了并行挖掘的问题。
  • Apache Cassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身
  • Apache Avro: 是一个数据序列化系统,设计用于支持数据密集型,大批量数据交换的应用。Avro是新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制
  • Apache Ambari: 是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。
  • Apache Chukwa: 是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。
  • Apache Hama: 是一个基于HDFS的BSP(Bulk Synchronous Parallel)并行计算框架, Hama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。
  • Apache Flume: 是一个分布的、可靠的、高可用的海量日志聚合的系统,可用于日志数据收集,日志数据处理,日志数据传输。
  • Apache Giraph: 是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
  • Apache Oozie: 是一个工作流引擎服务器, 用于管理和协调运行在Hadoop平台上(HDFS、Pig和MapReduce)的任务。
  • Apache Crunch: 是基于Google的FlumeJava库编写的Java库,用于创建MapReduce程序。与Hive,Pig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库
  • Apache Whirr: 是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr学支持Amazon EC2和Rackspace的服务。
  • Apache Bigtop: 是一个对Hadoop及其周边生态进行打包,分发和测试的工具。
  • Apache HCatalog: 是基于Hadoop的数据表和存储管理,实现中央的元数据和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供关系视图。
  • Cloudera Hue: 是一个基于WEB的监控和管理系统,实现对HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。

Hadoop家族学习路线图

下面我将分别介绍各个产品的安装和使用,以我经验总结我的学习路线。

Hadoop

  • Hadoop学习路线(参考Hadoop基础)
  • Yarn学习路线图
  • 用Maven构建Hadoop项目
  • Hadoop历史版本安装
  • Hadoop编程调用HDFS
  • 海量Web日志分析 用Hadoop提取KPI统计指标
  • 用Hadoop构建电影推荐系统
  • 创建Hadoop母体虚拟机
  • 克隆虚拟机增加Hadoop节点
  • R语言为Hadoop注入统计血脉
  • RHadoop实践系列之一 Hadoop环境搭建

Hive

  • Hive学习路线图
  • Hive安装及使用攻略
  • Hive导入10G数据的测试
  • R利剑NoSQL系列文章 之 Hive
  • 用RHive从历史数据中提取逆回购信息

Pig

  • Pig学习路线图

Zookeeper

  • Zookeeper学习路线图
  • ZooKeeper伪分步式集群安装及使用
  • ZooKeeper实现分布式队列Queue
  • ZooKeeper实现分布式FIFO队列

HBase

  • HBase学习路线图
  • RHadoop实践系列之四 rhbase安装与使用

Mahout

  • Mahout学习路线图
  • 用R解析Mahout用户推荐协同过滤算法(UserCF)
  • RHadoop实践系列之三 R实现MapReduce的协同过滤算法
  • 用Maven构建Mahout项目
  • Mahout推荐算法API详解
  • 从源代码剖析Mahout推荐引擎
  • Mahout分步式程序开发 基于物品的协同过滤ItemCF
  • Mahout分步式程序开发 聚类Kmeans
  • 用Mahout构建职位推荐引擎

Sqoop

  • Sqoop学习路线图

Cassandra

  • Cassandra学习路线图
  • Cassandra单集群实验2个节点
  • R利剑NoSQL系列文章 之 Cassandra

Hadoop课程资源

《十节课带你走进hadoop世界》

《Hadoop从入门上手工作》

《hadoop之DataGuru视频》

《Hadoop数据分析》

《云计算hadoop实战视频》

《Cloudera Hadoop课程培训》

原文发布于微信公众号 - PPV课数据科学社区(ppvke123)

原文发表时间:2014-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

2分钟读懂大数据框架Hadoop和Spark的异同

谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟...

15640
来自专栏大数据技术学习

Storm与Spark、Hadoop三种框架对比

Storm与Spark、Hadoop这三种框架,各有各的优点,每个框架都有自己的最佳应用场景。所以,在不同的应用场景下,应该选择不同的框架。

49820
来自专栏原创

个推 Spark实践教你绕过开发那些“坑”

Spark作为一个开源数据处理框架,它在数据计算过程中把中间数据直接缓存到内存里,能大大地提高处理速度,特别是复杂的迭代计算。Spark主要包括SparkSQL...

432100
来自专栏腾讯大数据的专栏

一文教你看懂大数据的技术生态圈 Hadoop,hive,spark

大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。你可以把它比作一个厨房所以需要的各种工具。锅碗...

31850
来自专栏杨建荣的学习笔记

浅谈Hadoop (r4笔记第81天)

大数据的概念炒了好多年了,很显然这项技术经受住了时间的考验,不是有些人想的那样华而不实,多年来总是伴随着Hadoop的身影越发壮大。 这些年来数据的增长量真是发...

38460
来自专栏数据科学与人工智能

【大数据框架】Hadoop和Spark的异同

谈到大数据,相信大家对 Hadoop 和 Apache Spark 这两个名字并不陌生。但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面...

32280
来自专栏木可大大

大数据是什么?

大数据是指海量数据或巨量数据,其规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策。

19530
来自专栏CSDN技术头条

大数据分析工具大汇总

大数据分析Storm:Apache Storm是一种开源的分布式实时计算系统。Storm加速了流数据处理的过程,为Hadoop批处理提供实时数据处理。 Spar...

31770
来自专栏MixLab科技+设计实验室

全栈设计师技术Wiki之Hadoop

Apache Hadoop : 是 Apache 开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目 ( HDFS ) 和支持 MapReduc...

34230
来自专栏祝威廉

让Spark成为你的瑞士军刀

依托于Spark Streaming /Spark SQL,封装了一套通过配置和SQL就能完成批处理和流式处理的引擎,这样可以很好的完成复杂的ETL处理过程,实...

9620

扫码关注云+社区

领取腾讯云代金券