当前位置:文档之家› hadoop架构介绍 PPT

hadoop架构介绍 PPT

26
Hadoop
• 背景
– Yahoo使用Hadoop – Hadoop成为Apache TLP – 淘宝?
27
Hadoop HDFS
• 分布式文件系统 • 设计原则
– 硬件错误是常态而不是异常 – 流式数据访问 – 大规模数据集 – 简单的一致性模型 – “移动计算比移动数据更划算” – 异构软硬件平台间的可移植性
32
Hadoop mapreduce
• 接口
– mapper – reducer – combiner – partitioner –…
33
Hadoop mapreduce
• 调度模型
– tasks – jobs – groups
34
Hadoop mapreduce
• 练习2:maprduce
28
Hadoop HDFS
• HDFS特性
– 大容量 – 高容错性 – 高吞吐量
• HDFS数据模型
–包 –块 – 文件
29
Hadoop HDFS
30
Hadoop HDFS
• 练习1:使用Hadoop HDFS
– 习题1:基本操作
• 上传文件到HDFS • 查看/设置文件的备份数 • 删除文件、文件夹
– Map:映射,空间变换 – Reduce:汇总,规约
18
MapReduce编程模型
• 中间数据结构:<Key, Value>对
– map (in_key, in_value) -> list(out_key, intermediate_value)
– reduce (out_key, list(intermediate_value)) -> list(out_value)
Hadoop架构介绍
1
背景:云时代的变革
2
应用的挑战
• 海量数据
3
• 成本
应用的挑战
4
应用的挑战
• 变化的业务需求
5
分布式解决方案?
6
变革
• 分布式编程已成为必备的技能 • 编程的对象:单机vs集群? • 全新的系统栈
– 存储 – 调度 – 计算 –…
7
目标
• 结束本次讲座时,你可以
– 熟悉分布式系统、Hadoop的背景知识 – 理解MapReduce编程模型 – 使用Hadoop
– 习题2:查看文件
• 查看文件状态 • 查看文件内容
– 习题3:使用Java API读取文件内容
31
Hadoop mapreduce
• 分布式计算框架 • 语言支持
– Java – C++ (through pipes) – script languages (through streaming)
8
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
9
大家有疑问的,可以询问和交流
可以互相讨论下,但要小声点
10
Aganda
• 简介 • MapReduce编程模型 • Hadoop • Hive
11
简介
• 大规模计算面临的挑战
– 数据量 – 成本 – 变化,通用性
• 互联网应用的特性
– 分析型业务为主 – 异构环境
• 设计MapReduce算法的核心概念
19
MapReduce编程模型
• 并行能力
– 子任务间并行
20
MapReduce编程模型
• 并行能力
– Map、Reduce任务间并行
21
MapReduce编程模型
• 并行能力
– 作业间并行
22
MapReduce点击日志统计:PV / UV – 词频统计 – 海量数据排序 – 表Join
36
Hive
• MapReduce的高级语言(类SQL)支持 • Facebook支持的开源软件 • 谁用谁知道
37
• Hive结构
Hive
38
Hive
• Hive语句一览
– DDL
– CREATE/DROP/ ALTER TABLE – CREATE/DROP TEMPORARY FUNCTION – SHOW/DESCRIBE …
– 习题1:基本操作
• 运行示例代码wordcount • 查看任务结果 • 杀死任务
– 习题2:查看任务状态
• 命令行查看 • web页面查看
35
Hadoop mapreduce
• 练习2:maprduce
– 习题3:阅读理解wordcount代码 – 习题4:编写MapReduce逻辑:分布式Grep – 习题5:编写MapReduce逻辑:Join
– DML
– LOAD – INSERT
– Query
– JOIN – SORT / DISTRIBUTE / CLUSTER / GROUP BY – TRANSFORM
39
• 自定义逻辑
– UDF – TRANSFORM
Hive
40
Hive
• 练习3:使用Hive
– 习题1:建表 – 习题2:导入数据 – 习题3:查询
• 思考题:MapReduce的数据偏斜问题
23
MapReduce编程模型
• 总结
24
Hadoop
• 开源分布式系统实现 • 子项目(模块)
– core – mapreduce – hdfs – hive – avro –…
25
Hadoop
• 背景
– Google发表有关MapReduce论文 – Doug Cutting以及Nutch的MapReduce实现
12
简介
• MapReduce:一种通用解决方案
13
简介
• Hadoop:山寨MapReduce中的强者 • 衍生项目…
14
简介
• 业界动态:加快部署! • 淘宝应用现状
– 云梯
15
• 总结
简介
16
MapReduce编程模型
• A game
17
MapReduce编程模型
• MapReduce语言学
41
快要结束了☺
• Q/A
42
相关主题