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

来源:互联网 发布:环境一号卫星数据下载 编辑:程序博客网 时间:2024/05/16 19:07

转自http://www.cnblogs.com/snowbook/p/5660572.html

这篇文章总结的很好,一步一步来,简单很多


hadoop 1.x分为
mapreduce与hdfs

其中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生态系统内容还是比较多的,但是最常用的是hive,hbase,所以这里对他们也总结一下:
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到上手工作线路指导(编程篇)
http://www.aboutyun.com/thread-8329-1-1.html
零基础学习hadoop生态系统到上手工作线路指导(HBASE篇)
http://www.aboutyun.com/thread-8391-1-1.html

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 公司注销了账户怎么办 租户不变更地址怎么办 营业执照忘审了怎么办 工商营业执照年检过期怎么办 个体营业执照没有年报怎么办? 个体工商户一年没有申报怎么办 个体工商户逾期未申报怎么办 个体户没报税过怎么办 农业银行证书过期了怎么办 ca证书丢了怎么办 ca证书被锁怎么办 上个月忘记清卡怎么办 财务人员进入税务黑名单怎么办 社保本丢了怎么办 贷款车辆登记证书怎么办 发票薄丢了怎么办? 汽车发票丢了怎么办 税票弄丢了怎么办 交强险正本丢了怎么办 个体营业执照正本丢失怎么办 简易注销后税务怎么办 拒绝了日历邀请怎么办 老人走丢了怎么办 老人走丢找不到怎么办 没人给介绍对象怎么办 bate365账号被锁怎么办 qq号疑似被盗怎么办 不知道音乐名字怎么办 忘记支付宝登录怎么办 微信被老婆拉黑怎么办 微信群昵称改不了怎么办 微信号设置不了怎么办 修改微信号点不开怎么办 多屏设置失败怎么办 icould密码忘了怎么办 微信号换不了怎么办 微信号改不了怎么办? 无法设置微信号怎么办 公司改名后商标怎么办 公司名称变更后发票怎么办 被起诉公司企业变更怎么办