Hadoop新手学习指导之hadoop核心知识学习

上篇(Hadoop新手学习指导之入门需知)我们介绍了新手学习hadoop的入门注意事项。这篇来谈谈hadoop核心知识学习。

hadoop核心知识学习:

  hadoop分为hadoop1.X和hadoop2.X,并且还有hadoop生态系统。这里只能慢慢介绍了。一口也吃不成胖子。

那么下面我们以hadoop2.x为例进行详细介绍:

Hadoop的核心是mapreduce和hdfs。

  Mapreduce:mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑。我们都知道mapreduce是一种编程模型,那么它能干什么,对我有什么用。它的原理是什么,为什么我们编写了map函数,reduce函数就可以在多台机器上运行,这些问题或许都给初学者带来了困扰。

  

那么我们就要了解:

什么是mapreduce?

Mapreduce的工作原理是什么?

Mapreduce的工作流程是什么?

Mapreduce的编程模型是什么?

shuffle是什么?

partition是什么?

combiner是什麽?

他们三者之间的关系是什么?

map的个数由谁来决定,如何计算?

reduce个数由谁来决定,如何计算?

mapreduce熟悉了,还有一些问题困扰着初学者,虽然有了Java基础,但是我们需要搭建开发环境,该如何搭建开发环境?

那么就需要我们学习Windows上如何使用Eclipse远程连接Hadoop并进行程序开发

因为在操作mapredcue过程中伴随着操作hdfs,就像我们传统开发,编程是离不开数据库一样。hdfs可以理解为传统编程的数据库,但是其实他不是,真正的数据库是hadoop data base,也就是hbase。好了下面,我们开始讲如何学习hdfs:

HDFS:我们至少应该学习以下内容

什么是HDFS及HDFS架构设计?

HDFS体系结构简介及优缺点?

Hdfs如何存储数据?

Hdfs如何读取数据?

Hdfs如何写入文件?

Hdfs的副本存放策略?

如何访问hdfs?

Hdfs数据如何复制?

Namenode的热备?

hadoop生态系统内容还是比较多的,但是最常用的是hive,hbase。

Hive是初学者进入大数据(hadoop)行业最好的选择入口,因为它提供了简单的类sql语句,使得不懂得mapreduce程序编写的学员也能够很轻松的进入大数据行业。所以建议大家(尤其是零基础的学员)在学习hadoop的过程中,可以着重加强对hive的学习,尤其是hive语句的熟练操作。当然对于有数据库基础的学员学习hive就更容易一些。

Hbase是一种nosql数据库,只有当数据量非常大时,比如TB、PB级,hbase才能发挥出很好的效果,所以对于致力于加入大公司的学员,可以深入学习hbase,尤其是hbase表的设计,rowkey的设计,hbase性能的调优,hbase和hive、impala的结合等。

Yarn是分布式集群资源管理框架,也是hadoop2.x和hadoop1.x明显不同的地方,所以我们还是有必要对yarn的原理、框架、组成部分进行详细的了解的。

对于hadoop其他的组件:比如海量日志收集工具flume,数据导入导出工具sqoop,应用程序协调服务zookeeper,学员可以结合实战项目学习其原理,如何使用即可。

对于想从事数据挖掘的学员,可以深入学习mahout、机器学习、算法等相关知识,根据学员自己的职业选择和兴趣爱好自主选择,建议零基础的学员最好是先从hive入手。

Storm是一种基于流的计算框架,spark是基于内存的计算框架,它们是不同于mapreduce的计算框架,但作用都是对数据的处理和分析,建议初学者在学习好mapreduce的前提下,可以对storm和spark进行深入的学习,切记贪多嚼不烂。通而不精。

如果想更加深入的学习,丰富自己的知识,可以选择性的学习一下shell、python脚本语言,Redis、MongoDB等nosql数据库,如果想做hadoop运维的,也可以学习ganglia和nagios等监控工具。

最后建议大家在学习过程中一定要由浅入深、从简单到复杂、理论和实践相结合,由于hadoop生态系统的工具比较多,每个工具有不同的侧重点,所以再次提醒大家切记贪多、切记浮躁、只有基础扎实了,后续的学习才会更轻松、更快速、更高效。

转载:http://www.dajiangtai.com/community/17981.do

时间: 2024-11-05 21:58:07

Hadoop新手学习指导之hadoop核心知识学习的相关文章

Json学习一(基础概念知识学习)

1.Json简单介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它使得人们非常easy的进行阅读和编写. 同一时候也方便了机器进行解析和生成.它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集. JSON採用全然独立于程序语言的文本格式.可是也使用了类C语言的习惯(包括C, C++, C#, Java, JavaSc

大数据Hadoop核心知识入门学习注意事项

今天来介绍新手学习hadoop的入门注意事项.这篇文章一来谈谈hadoop核心知识学习. 首先hadoop分为hadoop1.X和hadoop2.X,并且还有hadoop生态系统,那么下面我们以hadoop2.x为例进行详细介绍: Hadoop的核心是mapreduce和hdfs. Mapreduce:mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑.我们都知道mapreduce是一种编程模型,那么它能干什么,对我有什么用

IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)

IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天服务等)背后几乎都是由Linux系统支撑的服务器,超过20亿人每天都随身携带基于Linux内核开发的 Android手机出门,Linux也广泛应用在嵌入式系统上.因此学习Linux系统变得尤为重要,对于普通用户而言,平面式的学习Linux系统的基本使用已经足够,但对于开发者或者运维人员而言,深入学习Linux

学习笔记:Twitter核心数据类库团队的Hadoop优化经验

转自:http://blog.jobbole.com/88283/ 一.来源 Streaming Hadoop Performance Optimization at Scale, Lessons Learned at Twitter (Data platform @Twitter) 二.观后感2.1 概要此稿介绍了Twitter的核心数据类库团队,在使用Hadoop处理离线任务时,使用的性能分析方法,及由此发现的问题和优化手段,对如何使用JVM/HotSpot profile(-Xprof)分

新手入门指导:Vue 2.0 的建议学习顺序

起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script>,把教程里的例子模仿一遍,理解用法.不推荐上来就直接用 vue-cli 构建项目,尤其是如果没有 Node/Webpack 基础. 3. 照着官网上的示例,自己想一些类似的例子,模仿着实现来练手,加深理解. 4. 阅读官方教程进阶篇的前半部分,到『自定义指令 (Custom Directive) 』为止.着

Hadoop学习—浅谈hadoop

大数据这个词越来越热,本人一直想学习一下,正巧最近有时间了解一下.先从hadoop入手,在此记录学习中的点滴. 什么是hadoop? What Is Apache Hadoop? The Apache? Hadoop? project develops open-source software for reliable, scalable, distributed computing 作者:Doug Cutting 受Google三篇论文的启发(GFS.MapReduce.BigTable) 解

hadoop学习笔记:hadoop文件系统浅析

1.什么是分布式文件系统? 管理网络中跨多台计算机存储的文件系统称为分布式文件系统. 2.为什么需要分布式文件系统了? 原因很简单,当数据集的大小超过一台独立物理计算机的存储能力时候,就有必要对它进行分区(partition)并存储到若干台单独计算机上. 3.分布式系统比传统的文件的系统更加复杂 因为分布式文件系统架构在网络之上,因此分布式系统引入了网络编程的复杂性,所以分布式文件系统比普通文件系统更加复杂. 4.Hadoop的文件系统 很多童鞋会把hdfs等价于hadoop的文件系统,其实ha

【转】贾扬清:希望Caffe成为深度学习领域的Hadoop

[转:http://www.csdn.net/article/2015-07-07/2825150] 在深度学习(Deep Learning)的热潮下,Caffe作为一个高效.实用的深度学习框架受到了广泛的关注.了解Caffe研发的背景.愿景.技术特色.路线图及其开发者的理念,对于我们选择合适的工具更好地进行深度学习应用的迭代开发大有裨益.<程序员>记者近日深度对话Caffe作者贾扬清,剖析Caffe的起源.目标.差异性.现存的一些问题和改进工作,以及未来的规划. 起源故事 <程序员&g

Hadoop学习笔记(10) ——搭建源码学习环境

Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步调试呢? 看程序不能调那多痛苦啊,想看跟踪一下变量,想看一下执行路径都难. 所以这里,我们得把这个调试环境搭建起来.Hadoop的主要代码是用java编写的,所以这里就选用eclipse作为环境. Hadoop目录下,本身就可以为作eclipse的一个工程来操作,但这里我不想,我想自己来建一个工程,