零基础学习hadoop到上手工作线路指导(中级篇)

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结。 五一假期:在写点内容,也算是总结。上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为hadoop1.Xhadoop2.X,并且还有hadoop生态系统。这里只能慢慢介绍了。一口也吃不成胖子。

hadoop 1.x分为 mapreducehdfs
其中mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑。 我们不知道key代表什么意思,我们不知道为什么会处理这个value。map有key、value,输出了key、value,有时候还会合并,reduce处理完毕之后又输出了key、value。这让我们产生了困惑,分不清。
mapreduce是一种编程模型,那么它能干什么,对我有什么用。它的原理是什么,为什么我们编写了map函数,reduce函数就可以在多台机器上运行。 这些问题或许都给初学者带来了困扰。是的,这些问题同样也困扰了我,这里写出来分享给大家,避免走同样的弯路。
面对mapreduce,有一篇文章,这里总结的很好,包括:该如何入门,该如何理解mapreduce,该如何练习mapreduce,该如何运用mapreduce。这里面介绍的很全。 mapreduce学习指导及疑难解惑汇总,内容包括: --------------------------------------------------------------------------------------------------- 1.思想起源:
我们在学习mapreduce,首先我们从思想上来认识。其实任何的奇思妙想,抽象的,好的想法、都来源于我们生活,而我们也更容易理解我们身边所发生事情。所以下面一篇便是从生活的角度,来让我们理解,什么是mapreduce。 Hadoop简介(1):什么是Map/Reduce
2.设计思路
我们从思想上认识了mapreduce,那么mapreduce具体是什么,我们需要看得见,摸得着。我们该如何实现这个思想,我们该如何设计mapreduce。那么现在来说说它的设计思路。
设计思路如何表示:ok下面的帖子,是通过一张图来表达的。 Mapreduce 整个工作机制图
mapreduce是hadoop的核心,正因为mapreduce,所以才产生了分布式。所以我们可能通过一张图,了解的不够清楚和详细。我们还需要了解里面的原理: MapReduce工作原理讲解
3.模型实现
通过上面我们可能有了自己的一些看法。但是我们可能还是认识不太清楚。那么咱们在来看看编程模型,来进一步的了解。
MapReduce 编程模型概述
mapreduce编程模型
4.产生问题
我们看了上面的文章,这时候会有一些名词、概念进入我们的脑海。 除了map,reduce,task,job,shuffe,partition,combiner这些把我们给弄糊涂了。 我们产生问题如下: map的个数由谁来决定,如何计算? reduce个数由谁来决定,如何计算? 简单来讲map由split来决定,reduce则是由partition来决定。 详细可以查看 如何确定 Hadoop map和reduce的个数--map和reduce数量之间的关系是什么?
--------------------------------------------------------------------------------------------------- shuffle是什么? partition是什么? combiner是什麽? 他们三者之间的关系是什么?
mapreduce是hadoop核心,而shuffle是mapreduce的核心,shuffle个人认为它是一个动态的过程,包含了Combiner,merge等的过程,那么这里因为讲到shuffle,很多人都讲的全面,Combiner,merge,sort几乎全都讲了,这样讲是没有错误的,但是容易给初学者造成一个假象,那就是这些过程必须都是包含的,其实这些是根据个人的需求来确定的。 彻底了解mapreduce核心Shuffle--解惑各种mapreduce问题
对于Combiner的疑惑可以查看 Mapper过程中Combiner的作用 解决了下面问题

为什么需要在Mapper端进行归约处理?

为什么可以在Mapper端进行归约处理?

既然在Mapper端可以进行归约处理,为什么在Reducer端还要处理?

上面三个问题,可以查看帖子

hadoop中,combine、partition、shuffle作用分别是什么?

同样关于上面的问题可以参考 关于Mapper、Reducer的个人总结

5.编程实现
mapreduce是一种编程模型,我们认识了解,下面就需要编程实现了。那么mapreduce都能做些什么?下面我们可以看看
MapReduce初级案例(1):使用MapReduce去重
MapReduce初级案例(2):使用MapReduce数据排序
MapReduce初级案例(3):使用MapReduce实现平均成绩
通过上面三个例子,也是我们验证前面所理解的内容。 同样可以参考下面内容
Hadoop mapper类的阅读
Hadoop reducer类的阅读
Mapreduce shuffle和排序
hadoop中mapreduce包及制作文档指导
Hadoop开发环境搭建及map-reduce开发实例讲解视频下载
如何进行Hadoop二次开发指导视频下载

6.mapreduce应用 上面是一些基本的知识,那么我们熟悉之后,其实有些地方,可以应用在其它方面。下面可以参考:
淘宝之HBase MapReduce实例分析
MapReduce在压力测试中的应用 ---------------------------------------------------------------------------------------------------
这里在增加几篇: 深度了解mapreduce---MapReduce源码分析总结 此篇文章可以解决很多初学者的困惑,由浅入深讲的很不错。 新手指导:mapreduce不同类型的数据分到同一个分区是否会影响输出结果 由于在我们刚接触知识,会让我们造成误解,这里区分开了,分区与输出结果之间的关系。
新手指导:MapReduce中的分区方法Partitioner 这里讲解了分区是由谁来决定的,我们该如何分区
新手指导:mapreduce的key与value输入输出参数为什么会让你迷惑 对于新手这篇文章阐述了key,value为什么会让我们迷惑。
新手指导:让你真正了解mapreduce中map函数与reduce函数功能及key与value的含义 词牌你文章同样,从另外角度讲解了key,value,通过上面两篇或许你已经认识了key与value。
通过Wordcount实例解析map函数及reduce函数执行过程 很多新手在学习的过程中找不到标准,不知道mapreduce程序,每个过程,每行代码代表什么意思,这里给大家提供可以参考一下。
总结:如果已经把上面的文章都看过了,那么你对mapreduce如果说还不透彻,但是已经感觉对mapreduce会有自己的看法了。并且产生的各种问题,都有了自己的答案。
--------------------------------------------------------------------------------------------------- mapreduce熟悉了,还有一些问题困扰着初学者,虽然有了Java基础,但是我们需要搭建开发环境,该如何搭建开发环境: hadoop开发方式总结及操作指导
开发方式有两种,但是其实本质是一样的,第一种方式只能操作hdfs,对于操作mapreduce,可能会遇到权限问题。所以可以采用第二种方式。也就是下面这篇所介绍的开发方式 新手指导:Windows上使用Eclipse远程连接Hadoop进行程序开发
--------------------------------------------------------------------------------------------------- 因为在操作mapredcue过程中伴随着操作hdfs,就像我们传统开发,编程是离不开数据库一样。hdfs可以理解为传统编程的数据库,但是其实他不是,真正的数据库是hadoop data base,也就是hbase。好了下面,我们开始讲hdfs:
我们该如何学习hdfs: 什么是HDFS及HDFS架构设计
这里给我们一个初步的概念 HDFS体系结构简介及优缺点
初步了解之后,我们就需要了解它的组成,为了更好的使用它,我们就需要了解他的优点与缺点。
HDFS可以理解为数据库,因为我们既可以通过sql直接操作数据库,亦可以通过编程接口,通过编程语言来操作。那么HDFS则是可以通过shell来操作。 Hadoop Shell命令字典(可收藏)
Hadoop框架之HDFS的shell操作
HDFS Shell基本操作HDFS命令行接口
,同样hsfs的编程接口可以通过下面来了解: HDFS的Java访问接口
Java创建hdfs文件实例
Hadoop培训笔记之HDFS编程
为了节省空间,我们还可以对hdfs数据进行压缩: HDFS支持数据压缩的几种方法探讨

上面可以说是我们已经有了一定的了解,但是有的同学,想系统的了解,这里给大家提供一些资料。
HDFS必读书籍:HDFS-Hadoop分布式文件系统深度实践
Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理大全1-9章
深入浅出Hadoop实战开发(HDFS实战图片、MapReduce、HBase实战微博、Hive应用) ---------------------------------------------------------------------------------------------- 我们在学习和使用的过程中,会遇到很多的错误,这里也给大家提供几篇帖子 hadoop常见错误汇总及解决办法一
Hadoop常见错误问题及解决方法总结二
hadoop常见错误总结三 ----------------------------------------------------------------------------------------------------------------- 至此hadoop1.x已经完毕了(后面有时间继续补充) hadoop生态系统
hadoop生态系统内容还是比较多的,但是最常用的是hivehbase,所以这里对他们也总结一下: 1.hive 首先我们需要hive是什么? 让你真正明白什么是hive 上面讲的很明白 1.hive是一个数据仓库 2.hive基于hadoop。 总结为一句话:hive是基于hadoop的数据仓库。 hive明白之后,如同我们明白了关系数据库是什么了,那么我们该如何使用操作它: 首先我们要安装,安装分为很多种分为单机遇集群安装。 可参考下面内容:(正在更新) Hive安装指导
HIVE完全分布式集群安装过程(元数据库: MySQL)
上面需要说明的是hive默认数据库并不是mysql,但是因为默认数据库存在局限,所以最好使用mysql。
安装完毕,那么我们就需要练练手了,可以根据下面内容 hive基本操作 会了基本的操作还不够,如同我们需要了解sql语法一样,我们需要了解hive各种语法
Hadoop Hive sql语法详解1-认识hive及DDL操作
Hadoop Hive sql语法详解2-修改表结构
Hadoop Hive sql语法详解3--DML 操作:元数据存储
Hadoop Hive sql语法详解4--DQL 操作:数据查询SQL
Hadoop Hive sql语法详解5--HiveQL与SQL区别
这里面包含了加载数据、查询数据等各种操作。 上面是一些基本的操作,下面还有一些负责一些操作如: Hive快捷查询:不启用Mapreduce job启用Fetch task三种方式介绍
Hive如何执行文件中的sql语句
Hive四种数据导入方式介绍
Hive中的三种不同的数据导出方式介绍
Hive如何创建索引
上面基本属于实战类型,我们还需要高级进阶,我们需要了解里面的原理,我们需要知道遇到问题,该如何解决。 原理: 全面了解hive
Hive体系结构介绍
hive实现原理
hive内部表与外部表区别详细介绍
HIVE中Join的专题---Join详解
让你彻底明白hive数据存储各种模式
Hive配置文件中配置项的含义详解(收藏版)
HIVE与传统数据库对比
hive详解
原理大致懂了,基本操作会了,我们可能又有了更进一步的认识,那么hive如何结合hadoop,hbase发挥作用,该如何发挥它的实际意义,被我们所用。
首先我们使用hive的时候,很多都与hbase相结合,这样发挥hive的长处,在各种查询数据方面相比hbase使用更方便。 hive为什么与hbase整合
Hive与HBase整合完整指导
hadoop、hbase、hive版本对应关系
上面是与hbase结合使用,那么我们该如何与编程语言向结合,可以参考下面内容:
通过JDBC驱动连接Hive操作实例
Hive:用Java代码通过JDBC连接Hiveserver介绍 Hive:用Java代码通过JDBC连接Hiveserver介绍
从 MapReduce 到 Hive 实战分析
hive实战
上面或许你已经对hive有所了解,下面的面试及遇到的问题,大家可参考 hive找不到创建的表了
Shark对Hive的支持与不支持的语法介绍
面试题:分别使用Hadoop MapReduce、hive统计手机流量
hive面试题目:表大概有2T左右,对表数据转换
hive如何通过设置日志定位错误
hive在腾讯分布式数据库时间分享
(暂时到此,以后更新)

如果到了这个地方。后面的内容你可以在看看视频。 hadoop新手入门视频 hadoop10G云计算和实战hadoop视频教程外加炼术成金和云计算视频(免费分享) hadoop搭建集群线路指导
通过以上视频,搭建环境和开发环境都没有问题。以后有时间咱们可以再次展开和讨论。

零基础学习hadoop到上手工作线路指导(中级篇)

时间: 2024-10-15 01:56:18

零基础学习hadoop到上手工作线路指导(中级篇)的相关文章

零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce(转)

零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce:http://www.aboutyun.com/thread-7567-1-1.html mapreduce学习目录总结 MapReduce学习指导及疑难解惑汇总:http://www.aboutyun.com/thread-7091-1-1.html 什么是Map/Reduce:http://www.aboutyun.com/thread-5541-1-1.html Mapreduce 整个工作机制图:http://

零基础学习hadoop到上手工作线路指导初级篇:hive及mapreduce

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结.五一假期:在写点内容,也算是总结.上面我们会了基本的编程,我们需要对hadoop有一个更深的理解:hadoop分为hadoop1.X.hadoop2.X,并且还有hadoop生态系统.这里只能慢慢介绍了.一口也吃不成胖子. hadoop 1.x分为mapreduce与hdfs 其中mapreduce是很多人都需要迈过去的槛,它比较难以理解,我们有时候即使写出了mapreduce程序,但是还是摸不着头脑.我们不知道ke

零基础学习hadoop到上手工作线路指导(编程篇)

问题导读:1.hadoop编程需要哪些基础?2.hadoop编程需要注意哪些问题?3.如何创建mapreduce程序及其包含几部分?4.如何远程连接eclipse,可能会遇到什么问题?5.如何编译hadoop源码? 阅读此篇文章,需要些基础下面两篇文章零基础学习hadoop到上手工作线路指导(初级篇) 零基础学习hadoop到上手工作线路指导(中级篇)如果看过的话,看这篇不成问题,此篇讲hadoop编程篇. hadoop编程,hadoop是一个Java框架,同时也是编程的一次革命,使得传统开发运

零基础学习hadoop到上手工作线路指导

问题导读: 1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如何编译hadoop源码? 阅读此篇文章,需要些基础下面两篇文章 零基础学习hadoop到上手工作线路指导(初级篇) http://www.aboutyun.com/thread-6780-1-1.html 零基础学习hadoop到上手工作线路指导(中级篇) http://www.aboutyun.c

零基础学习 Hadoop 如何下手

想学习hadoop,可是苦于自己没有任何的基础,不知道该如何下手,也不知道自己能不能学会.其实零基础学习hadoop,没有想象的那么困难.曾经我也是一位小白,刚接触到云计算,想过培训,但是培训机构的选择也让我很纠结,就自己开始去摸索学习,现在我把自己的学习思路整理一下,希望对大家有帮助. 首先整体说一下学习过程给大家借鉴: 一.了解hadoop: 这里不具体阐述概念,有兴趣的同学可以自己上网去查.我们知道hadoop,有单机安装,伪分布安装和分布安装.同时hadoop的环境是Linux,所以我们

salesforce 零基础学习(五十二)Trigger使用篇(二)

第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. 十七篇链接:salesforce 零基础学习(十七)Trigger用法 有的时候对于sObject的trigger处理复杂的情况下,比如一个sObject的before update要实现功能1,2.....n功能情况下,Handler中需要在before update写实现功能1--n的代码.然而

大数据零基础学习hadoop入门教程

1.Hadoop生态概况 Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠.高效.可伸缩的特点 Hadoop的核心是YARN,HDFS,Mapreduce,常用模块架构如下 ? 2.HDFS 源自谷歌的GFS论文,发表于2013年10月,HDFS是GFS的克隆版,HDFS是Hadoop体系中数据存储管理的基础,它是一个高度容错的系统,能检测和应对硬件故障 HDFS简化了文件一致

分享零基础学习Hadoop方法

(我不是Hadoop专家,也只是一个初学者,这里我也只是就自己的学习体会,站在初学者的角度谈一下如何入门.) 首先我觉得应该思考这样一个问题:Hadoop对于我们来讲,是一种工具,那么Hadoop帮助我们解决了什么问题?或者换个角度想,没有Hadoop,我们做同样一项工作会增加什么任务?(想清楚了这问题,心里就会形成Hadoop到底是什么,能做什么的概念.初学者在最初时候很容易框架当成负担,但实际上他应该是工具.明白了Hadoop这个神器的美妙后,你就可以开始心怀期待的去慢慢驾驭它了.) 初学H

salesforce lightning零基础学习(八) Aura Js 浅谈一: Component篇

我们在开发lightning的时候,常常会在controller.js中写 component.get('v.label'), component.set('v.label','xxValue'); 小伙伴肯定有疑问这些方法是怎么定义的,lightning到底有多少已经声明的方法可供我们使用,此篇主要讲述aura framework为我们提供的 component的js的主要方法. 本人salesforce环境切换到lightning,URL为:https://zero-zhang-dev-ed