《OD学hadoop》第四周0716
7.16
一、回顾
二、HDFS Federation(联盟)
Hadoop 2.2.0发布新特性
很多的大公司都在使用:BAT
HDFS Federation + HDFS HA架构
互相隔开,但是数据存储共用
1、新特性介绍
ViewFs Guide 视图文件系统
HDFS Snapshots 快照
在某一时刻某一个瞬间在整个文件系统中,它存储的文件具体的情况
比如:存储多少文件、它的副本数...一些信息
好处:备份、恢复
Edits Viewer
Image Viewer
用来查看fsimage和edits文件的工具
Quotas and HDFS
HDFS 配额
两种:空间、目录
C API libhdfs
可以用C语言编写MR程序,访问文件系统
2、HA和联盟的区别
HDFS HA:
两个namenode->管理同一个文件系统,内存中存储的内容是一样的。
HDFS Federation:
两个namenode各自管理属于自己一部分的数据,存储的内容完全不一样的。
namenode共同使用datanode的存储空间
namenode内存限制
注意:配置之前需要关闭原有的集群还有正在运行的服务
3、HDFS Federation配置
dfs.namenode.rpc-address:8020
datanode和namenode交互端口号
dfs.namenode.servicerpc-address:8022
减轻一个端口号的压力,可配置项
dfs.namenode.http-address:50070
浏览器访问端口
dfs.namenode.https-address:50470
浏览器访问端口
格式化所有的namenode,虽然是三个不同的namenode
但是是在一个集群中的,每个集群都有一个唯一的标识符clusterID
如果不提供ID,会自动生成一个,以免与其他集群产生冲突
三、MapReduce二次排序
MR :
input map() shuffle reduce() output
MR shuffle:
partition sort combiner compress group
排序:默认是按照key排序
分组:相同key的value放在一起
比较:key相同
指定:比较器->实现接口
key和key的比较->shuffle
需求:文件中有这些数据,依据第一个字段进行排序
如果第一个字段相同,对第二个字段进行排序
a,1 a#1,1
z,3 z#3,3
b,2 b#2,2
a,100 a#100,100
a,3 a#3,3
b,1 b#1,1
a#1,1 a#1,list<1,3,100> a,1 a,3 a,100
a#3,3
a#100,100
b#1,1
b#2,2
z#3,3
默认比较两个字段,要保持原来的第一个字段进行分组
第一个字段相同,代表key相同
这种排序是在整个shuffle阶段进行操作,并不是reduce的方法中操作的
MR本身具有排序特性:将第一个作为key,第二个字段怎么办?
直接对value进行排序?
排序消耗的CPU内存资源
【小结】mapreduce二次排序要点
1,组合key,key是一个组合字段,自定义数据类型
继承writablComparable
2、保证原来的分区,需要自定义分区partitioner,
继承partitioner
3、保持原来的分组,需要自定义分组
继承RawComparator
四、MR join
HDFS两张表:两类文件->MR分析
map join(在数据比较小的情况下可以使用)
【举例】
淘宝天猫双十一购物
1、 账户信息包括:用户ID、名称、收货地址、电话联系方式
(customer)
cid cname address telphone
2、订单信息包括:订单ID、用户ID、商品价格、商品名称
(order)
oid cid price pname
将两个表进行关联
关联之后的信息包括:用户ID、名称、收货地址、电话联系方式、商品名称
cid name address telphone pname
每个商品订单都能找到购买人
两张表->公共连接点->key(map输出的key)
cid cname address telphone(小表)
oid cid price pname(大表)
功能:
cid name address telphone pname
map-><key,value>
<cid(key), customerinfo(value)> -> <cid, customerinfo>
reduce端join(也叫shuffle join或common join)
reduce input keyvalue:
<cid, list(cinfo, orderinfo, order info, orderinfo, orderinfo)>
map
customer:
<cid,cinfo>
cinfo:
(标识)tag:customer/order
data:cinfo/orderinfo
order:
<cid,orderinfo>
五、MapReduce分布式缓存
DistributeCache
六、
Apache hadoop:
hadoop 1.x
hadoop 2.x
cloudera hadoop: -> cloudera manager
CDH3 CDH4 CDH5
hortonworks hadoop: -> yahoo
HDP 2.x
hue
《OD学hadoop》第四周0716的更多相关文章
- 《OD学hadoop》20160903某旅游网项目实战
一.大数据的落地点 1.数据出售 数据商城:以卖数据为公司的核心业务 2. 数据分析 百度统计 友盟 GA IBM analysis 3.搜索引擎 4. 推荐系统 mahout 百分比 5.精准营销 ...
- 《OD学hadoop》第三周0710
一.分布式集群安装1. Hadoop模式本地模式.伪分布模式.集群模式datanode 使用的机器上的磁盘,存储空间nodemanager使用的机器上的内存和CPU(计算和分析数据) 2. 搭建环境准 ...
- 《OD学hadoop》第三周0709
一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. ...
- 《OD学hadoop》第二周0703
hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hado ...
- 《OD学hadoop》第二周0702
大数据离线计算hadoop2.x 三周(6天) markdown文本剪辑器 罗振宇--跨年演讲,时间的朋友 http://tech.163.com/16/0101/11/BC87H8DF000915B ...
- 《OD学hadoop》第一周0625
一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统 www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...
- 《OD学hadoop》Hadoop前置
一.Hadoop 前置课程 1. Linux系统,基本命令 2. Java语言,JavaSE相关知识 3. MySQL基本的DML和DDL SQL on Hadoop
- 《OD学hadoop》第一周0626 作业二:Linux基础
一.打包压缩 知识点: tar -zxvf -C PATH tar -jxvf tar -zcvf tar -jcvf tar:打包命令 -z 打包同时gzip压缩 -j 打包同时bzip2 -c 打 ...
- 《OD学hadoop》在LINUX下如何将tar压缩文件解压到指定的目录下
linux下tar命令解压到指定的目录 :#tar zxvf /bbs.tar.zip -C /zzz/bbs //把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/ ...
随机推荐
- Linux 的多线程编程的高效开发经验
http://www.ibm.com/developerworks/cn/linux/l-cn-mthreadps/ 背景 Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多 ...
- PowerDesigner(二)-项目和框架矩阵(转)
项目和框架矩阵 项目是PowerDesigner 15的新概念,通过项目系统分析/设计人员可以对模型以及各类文档进行分组.项目也可以包含框架矩阵,以表格的形式体现各个模型之间的关系. 项目和框架矩阵解 ...
- PHPStorm+PHP5.6+WIN7+IIS7
文件下载 以下为参考网址,如无法打开或变动,请自行搜索,获取最新版本文件请行搜索 PHP Manager:http://www.iis.net/downloads/community/2010/09/ ...
- 通过 Mesos、Docker 和 Go,使用 300 行代码创建一个分布式系统
[摘要]虽然 Docker 和 Mesos 已成为不折不扣的 Buzzwords ,但是对于大部分人来说它们仍然是陌生的,下面我们就一起领略 Mesos .Docker 和 Go 配合带来的强大破坏力 ...
- HDU4010 Query on The Trees(LCT)
人生的第一道动态树,为了弄懂它的大致原理,需要具备一些前置技能,如Splay树,树链剖分的一些概念.在这里写下一些看各种论文时候的心得,下面的代码是拷贝的CLJ的模板,别人写的模板比较可靠也方便自己学 ...
- 深入浅出ES6(十三):类 Class
作者 Jason Orendorff github主页 https://github.com/jorendorff 你可能觉得之前讲解的内容略显复杂,今天我们就讲解一些相对简单的内容,不再是生成器 ...
- chmod u+x ./j2sdk-1_4_2_04-linux-i586.bin的含义
这句话是改变当前目录下的j2sdk-1_4_2_04-linux-i586.bin文件的权限. 具体地说: chmod命令用于改变文件权限. u 这里指文件所有者 +x 添加可执行权限 ./ 指当前目 ...
- 如何学好oracle?(准备)
循序渐进 多练习 http://www.tudou.com/listplay/ScoGxMJZGQc/Nw9HE62XiGo.html
- 李洪强iOS开发之OC[008] -创建一个对象并访问实例变量
// // main.m // 07 - 创建一个对象并且访问实例变量 // // Created by vic fan on 16/7/3. // Copyright © 2016年 李洪强 ...
- Linux软链接和硬链接
Linux中的链接有两种方式,软链接和硬链接.本文试图清晰彻底的解释Linux中软链接和硬链接文件的区别. 1.Linux链接文件 1)软链接文件 软链接又叫符号链接,这个文件包含了另一个文件的路径 ...