hadoop 学习路线

article/2025/10/8 15:35:19

Posted:

Sep 6, 2013

Tags:

Hadoophadoop familyroadmap

Comments:

40 Comments

Hadoop家族学习路线图

Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。

从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处理的广阔地盘。开源界及厂商,所有数据软件,无一不向Hadoop靠拢。Hadoop也从小众的高富帅领域,变成了大数据开发的标准。在Hadoop原有技术基础之上,出现了Hadoop家族产品,通过“大数据”概念不断创新,推出科技进步。

作为IT界的开发人员,我们也要跟上节奏,抓住机遇,跟着Hadoop一起雄起!

关于作者:

  • 张丹(Conan), 程序员Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/hadoop-family-roadmap/

hadoopFamilyRoadmap

前言

使用Hadoop已经有一段时间了,从开始的迷茫,到各种的尝试,到现在组合应用….慢慢地涉及到数据处理的事情,已经离不开hadoop了。Hadoop在大数据领域的成功,更引发了它本身的加速发展。现在Hadoop家族产品,已经达到20个了之多。

有必要对自己的知识做一个整理了,把产品和技术都串起来。不仅能加深印象,更可以对以后的技术方向,技术选型做好基础准备。

本文为“Hadoop家族”开篇,Hadoop家族学习路线图

目录

  1. Hadoop家族产品
  2. Hadoop家族学习路线图

1. Hadoop家族产品

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

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

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

HadoopFamilySmall

一句话产品介绍:

  • 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化操作和管理。

2. Hadoop家族学习路线图

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

Hadoop

  • Hadoop学习路线图
  • Yarn学习路线图
  • 用Maven构建Hadoop项目
  • Hadoop历史版本安装
  • Hadoop编程调用HDFS
  • 海量Web日志分析 用Hadoop提取KPI统计指标
  • 用Hadoop构建电影推荐系统
  • 创建Hadoop母体虚拟机
  • 克隆虚拟机增加Hadoop节点
  • R语言为Hadoop注入统计血脉
  • RHadoop实践系列之一 Hadoop环境搭建
  • 用MapReduce实现矩阵乘法
  • PageRank算法并行实现
  • PeopleRank从社交网络中发现个体价值

Hive

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

Pig

  • Pig学习路线图

Zookeeper

  • Zookeeper学习路线图
  • ZooKeeper伪分步式集群安装及使用
  • ZooKeeper实现分布式队列Queue
  • ZooKeeper实现分布式FIFO队列
  • 基于Zookeeper的分步式队列系统集成案例

HBase

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

Mahout

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

Sqoop

  • Sqoop学习路线图

Cassandra

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

 

跟上创新的脚步,不断坚持:(TODO列表,不定期更新)

Avro, Ambari, Chukwa, Hama, Flume, Giraph, Oozie, Crunch, Whirr, Bigtop, HCatalog, Hue

欢迎大家留言,提出宝贵建议!

 

转载请注明出处:
http://blog.fens.me/hadoop-family-roadmap/


http://chatgpt.dhexx.cn/article/maXIRCgs.shtml

相关文章

Hadoop 学习路线图

主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。 从2011年开始&…

Hadoop学习路线

Hadoop基础 Hadoop是一个能够对大量数据进行分布式处理的软件框架,它是一种技术的实现,是云计算技术中重要的组成部分,云计算的概念更广泛且偏向业务而不是必须拘泥于某项具体技术,云计算的存在只是一种新的商业计算模型和服务模…

第11期:Hadoop零基础学习路线

大家好,我是你们的老朋友老王随聊,今天和大家讨论的话题——Hadoop零基础应该怎么学? 通过这段时间和群里同学们交流,发现很多大学生甚至职场小白对Hadoop学习路线不是很清晰,所以我花了一些时间给大家整理了一张Hadoo…

hadoop学习路线图

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。而对于hadoop的学习是大数据学习中的重要一个环节,于是乎有很多人想要知道hadoop学习路线图。…

Python的基础编程

1. python的基本语法 Python是一个结合了解释性、编译性、互动性和面向对象的高级程序设计语言,结构简单,语法定义清晰; Python最具特色的就是使用缩进来表示代码块,不需要使用大括号{},但每一个模块内的语句必须包含…

【Java编程指南】语法基础

目录 一、前言 二、关键字 三、数据类型 1.存储单元 2.存储范围 3.类型转换 四、常量 五、变量 六、标识符 七、注释 一、前言 学习目标 1:熟悉Java的关键字、数据类型(包括范围)、常量与变量的区别 学习目标 2:类型转…

新手小白零基础,该怎样学习编程呢?

零基础编程入门先学什么?编程语言有几百种,我们应该怎么选择。想学习编程,加入互联网行业,哪一个更有前途?在小白学习编程会有各种各样的问题,今天小编我就来为你解答。 一、怎么选择编程语言 编程语言有很…

如何打好编程基础

如何打好编程基础 这篇文章是写给那些真心想学编程的人看的——那些憋着一股狠劲儿,一定要做出个什么真东西,不学好不罢休的人;而不是那些「听说编程好玩」的人,在我看来,这种人永远都入不了编程的门,更别提做出个像样的东西来了。 心态调整 确定目标 在你学习编程之前思…

Web编程基础知识

前段时间零零碎碎看了Web编程相关内容,今天就整理了一下 Web编程,前端主要是htmlCSSJavaScript,后端使用最多的是PHPMySQL 此次教程主要是关于html、CSS、JavaScript和PHP的一些语法和使用细则 1 Html: HyperText Markup Language&#xff0c…

如何0基础学编程,岗位怎么选择?

下面进入正题,如果非计算机专业的话短期内想找到工作可以考虑去选择找IT培训机构学习。一方面有专业老师指导,比自己看书、看视频学习更有效率。如果自学主要你非计算机专业,计算机基础编程基础相当于没有,有些编程理论很难理解&a…

5.Java编程基础

📋 个人简介 💖 作者简介:大家好,我是W_chuanqi,一个编程爱好者 📙 个人主页:W_chaunqi 😀 支持我:点赞👍收藏⭐️留言📝 💬 愿你我共…

新手小白入门编程第1讲 计算机基础知识 JAVA基础知识

1 计算机基础知识 1.1计算机 计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理数据的现代化智能电子设备。常见的形式有台式计算机、笔记本计算机。按照规模分为微型机、小型机、大…

linux软件包安装与卸载

7.1 安装软件包的三种方法 在Linux下安装软件包,主要有3种办法 (1)rpm工具(手动安装,难点在于包的依赖关系) (2)yum工具(python开发出来的工具,操作对象rp…

linux下如何卸载系统软件,教你在Linux下如何卸载软件

软件的卸载 1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令: #rpm -q -a 即可查询到当前系统中安装的所有的软件包。 2.确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入如下命令即可卸载软件&am…

Linux 软件安装与卸载

软件安装与卸载 软件安装与卸载概述 在Ubuntu中安装软件和Windows系统中双击exe文件安装软件的方式有很大的不同,在Ubuntu中主要分为以下两种种软件安装的方式: - 通过apt-get包管理器从软件源中安装(图形化和终端命令两种方式) -通过deb格式的软件包安装我们使用…

uniapp+h5混合开发

为了减少app频繁上架,频繁更新,决定放弃纯uniapp开发,改用uniapp(后续简称uni)h5的方式进行混合开发。 技术选型: 整个app架子用uni(vue3),h5采用vue3vant4,然后使用uni的webview进行…

H5 混合开发(更新中)

1 流行的混合开发方案 基于 WebView UI (JSBridge) 基于 Native UI(ReactNative、weex) 小程序方案(微信、支付宝小程序) JS通过JSBridge来调用native api,如拍照/扫一扫 2 H5和原生互相调用…

MATLAB+JAVA的混合开发

近期项目中需要使用matlab跟java做混合开发。主要记录一下,此次开发遇到的问题点。 环境:使用的matlab版本是 R2018b。 当前状况:MATLAB代码已经编写好,且运行成功。需要打成jar包才可以被java调用。 步骤一: 按照…

Unity和Android混合开发

Unity和Android混合开发 通用的流程 https://blog.csdn.net/zhangdi2017/article/details/65629589 应用场景 Unity游戏中一些功能需要安卓系统的支持,如搜索wifi等。而且想接入SDK时,很多都是针对安卓的SDK,很少有针对Unity的&#xff0c…

Android App混合开发

混合开发的App(Hybrid App)就是在一个App中内嵌一个轻量级的浏览器,一部分原生的功能改为Html 5来开发,这部分功能不仅能够在不升级App的情况下动态更新,而且可以在Android或iOS的App上同时运行,让用户的体…