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的更多相关文章

  1. 《OD学hadoop》20160903某旅游网项目实战

    一.大数据的落地点 1.数据出售 数据商城:以卖数据为公司的核心业务 2. 数据分析 百度统计 友盟 GA IBM analysis 3.搜索引擎 4. 推荐系统 mahout 百分比 5.精准营销 ...

  2. 《OD学hadoop》第三周0710

    一.分布式集群安装1. Hadoop模式本地模式.伪分布模式.集群模式datanode 使用的机器上的磁盘,存储空间nodemanager使用的机器上的内存和CPU(计算和分析数据) 2. 搭建环境准 ...

  3. 《OD学hadoop》第三周0709

    一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. ...

  4. 《OD学hadoop》第二周0703

    hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hado ...

  5. 《OD学hadoop》第二周0702

    大数据离线计算hadoop2.x 三周(6天) markdown文本剪辑器 罗振宇--跨年演讲,时间的朋友 http://tech.163.com/16/0101/11/BC87H8DF000915B ...

  6. 《OD学hadoop》第一周0625

    一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统  www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...

  7. 《OD学hadoop》Hadoop前置

    一.Hadoop 前置课程 1. Linux系统,基本命令 2. Java语言,JavaSE相关知识 3. MySQL基本的DML和DDL SQL on Hadoop

  8. 《OD学hadoop》第一周0626 作业二:Linux基础

    一.打包压缩 知识点: tar -zxvf -C PATH tar -jxvf tar -zcvf tar -jcvf tar:打包命令 -z 打包同时gzip压缩 -j 打包同时bzip2 -c 打 ...

  9. 《OD学hadoop》在LINUX下如何将tar压缩文件解压到指定的目录下

    linux下tar命令解压到指定的目录 :#tar zxvf /bbs.tar.zip -C /zzz/bbs //把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/ ...

随机推荐

  1. GDI+的常用类

    VisualStyleRenderer 提供用于绘制和获取有关 System.Windows.Forms.VisualStyles.VisualStyleElement 的信息的方法. VisualS ...

  2. Somebody That I Used to Know

    一.查看歌词 http://baike.baidu.com/view/7925491.htm 二.考量歌词 1.我告诉自己你就是我的挚爱 但你的陪伴却让我倍感孤单 但那就是爱 让我刻骨铭心难以忘怀 既 ...

  3. Javascript 性能优化的一点技巧

    把优秀的编程方式当成一种习惯,融入到日常的编程当中.下图是今天想到的一点Javascript 性能优化的技巧,分享一下,抛砖引玉.

  4. 定时器 corn 表达式

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素.按顺序依次为1.秒(0~59)2.分钟(0~59)3.小时(0~23)4.天(月)(0~31,但是你需要考虑你月的天数)5.月(0~11 ...

  5. Linux下ettercap的安装,make安装软件步骤

    第一步:下载ettercap的压缩包 用tar 解压压缩包,-z 用gzip的方式解压 -x 解打包/解压缩 -f 指定包  -v显示进度 ls 可以查看解压后出现一个新目录 ettercap-0.8 ...

  6. rm删除命令

    linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有 ...

  7. 单片机模拟 1/2 Bias、1/4 Duty的 LCD 驱动使用方法

    工作原理 方式一     根据 LCD 的驱动原理可知,LCD 像素点上只能加上 AC 电压,LCD 显示器的对比度由 COM脚上的电压值减去 SEG 脚上的电压值决定,当这个电压差大于 LCD 的饱 ...

  8. ZOJ 3204 Connect them(字典序输出)

    主要就是将最小生成树的边按字典序输出. 读取数据时,把较小的端点赋给u,较大的端点号赋值给v. 这里要用两次排序,写两个比较器: 第一次是将所有边从小到大排序,边权相同时按u从小到大,u相同时按v从小 ...

  9. 视频转换工具 Transmageddon

    点这里 Transmageddon 是一个采用 Python 语言开发的视频转换工具,支持输出几乎所有的视频格式,同时也可以生成指定平台下的视频格式. 软件界面如下图所示

  10. PATH环境变量和CLASSPATH环境变量详解

    大凡装过JDK的人都知道要安装完成后要设置环境变量,可是为什么要设置环境变量呢?环境变量有什么作用? 1)PATH详解: 计算机安装JDK之后,输入“javac”“java”之类的命令是不能马上被计算 ...