Introduction to Dryad
Download
Report
Transcript Introduction to Dryad
海量数据的处理和管理
ChengMing
2012/4/8
Outline
海量数据处理方法
MapReduce
Dryad
MapReduce
VS Dryad
海量数据管理系统
HBase
Hive
Pig
Outline
海量数据处理方法
MapReduce
Dryad
MapReduce
VS Dryad
海量数据管理系统
HBase
Hive
Pig
MapReduce ----process
MapReduce ----wordcount
Hello world
<0, “Hello world”>
Hello hadoop
Hello mapreduce
<0, “Hello hadoop”>
<14, “Hello mapreduce”>
<”hadoop”, 1>
<”hello”, 3>
<”mapreduce”, 1>
<”world”, 1>
<”hadoop”, 1>
<”Hello”, <1, 1, 1>>
<”mapreduce”, 1>
<”world”, 1>
<“Hello”, 1>
<“world”, 1>
<”Hello”, 1>
<”hadoop”, 1>
<”Hello”, 1>
<”mapreduce”, 1>
Outline
海量数据处理方法
MapReduce
Dryad
MapReduce
VS Dryad
海量数据管理系统
HBase
Hive
Pig
Dryad ----What wrong with MP
First Map Second Reduce
Load Balance
Intermediate Processing
Bottleneck(DFS, Reduce)
Dryad ----What is Dryad
Introduced by MS
An infrastructure like MP
Based on Windows HPC Server
Program Language—DryadLINQ
General-purpose execution environment
for distributed, data-parallel applications
Automatic management of scheduling,
distribution, fault tolerance, etc.
Dryad ---- Architecture
Dryad---- components
Infrastructure: Windows HPC server
DFS: Cosmos
Execution Engine: Dryad
Program Language: DryadLINQ
Dryad---- Cosmos
Distributed, scalable storage system
designed to reliably and efficiently store
extremely large sequential files
Distributed, massively parallelized
application execution engine primarily
used for processing operations on the
aforementioned data
Dryad----Cosmos Query
Language: Scope(like SQL)
Data is made up of rows and rows are
made up of Columns and Columns are
typed.
Dryad----Cosmos Architecture
Dryad---- Dryad
Job Manager
Cluster
Name Server
PDeamon
DryadLINQ----Introduction
A Distributed Programming Environment
DryadLINQ = LINQ + Dryad
LINQ: Relational queries integrated in C#
Explain Engine
DryadLINQ----How to Explain
Data Objects >> Distributed Partitioned
Files
Queries >> Distributed Dryad Jobs
Methods >> Code Running on the
Vertices of a Dryad job
DryadLINQ----Example
Vertex
code
Collection<T> collection;
bool IsLegal(Key k);
string Hash(Key);
var results = from c in collection
where IsLegal(c.key)
select new { Hash(c.key), c.value};
Query
plan
(Dryad job)
Data
collection
C#
C#
C#
C#
results
Dryad----process
Outline
海量数据处理方法
MapReduce
Dryad
MapReduce
VS Dryad
海量数据管理系统
HBase
Hive
Pig
MapReduce VS Dryad
Dryad
•
•
•
•
•
•
•
•
Execution layer
Job = arbitrary DAG
Plug-in policies
Program=graph gen.
Complex
New (< 2 years)
Still growing
Internal
Map-Reduce
•
•
•
•
•
•
•
•
Exe + app. model
Map+sort+reduce
Few policies
Program=map+reduce
Simple
Mature (> 4 years)
Widely deployed
Hadoop
20
Outline
海量数据处理方法
MapReduce
Dryad
MapReduce
VS Dryad
海量数据管理系统
HBase
Hive
Pig
Hbase----introduction
供提并仿模Bigtable能功有所
储存的列向面
问访写读的时实、机随供提据数量海对
库据数型散松
承继下向HDFS于基上向,储存量海的
MapReduce算计行并供提
Hbase---- Architecture
Hbase----概念视图
Row Key
key1
key2
Time Stamp
Column “one"
t1
"<html>..."
t1
Column “two"
text
"<html>..."
t2
2020/5/1
t3
"<html>..."
t4
"<html>..."
中国人民大学 信息学院 计算机科学与技术系
24
Hbase----物理视图
Row Key
key1
Time Stamp
t1
Column “one
Row Key
Time Stamp
key2
t1
Column “two"
"<html>..."
t3
"<html>..."
t4
"<html>..."
text
"<html>..."
key2
2020/5/1
中国人民大学 信息学院 计算机科学与技术系
25
Outline
海量数据处理方法
MapReduce
Dryad
MapReduce
VS Dryad
海量数据管理系统
HBase
Hive
Pig
Hive----introduction
于基Hadoop构架库仓据数的统系件文
换转、取抽据数和载加、和理管储存据数
的集据数型大查询力能析分和
支持类SQL语言:Hive QL
Hive---- Architecture
命令行接口
网络接口
JDBC/ODBC
Thrift Server
元数
据
驱动
(编译器,优化
器,执行器)
JobTracker
Datanode
&
TaskTrac
ker
Hive
Namenode
Hadoop
Hive---- Hive QL
数据定义操作
表创建、删除、修改等
数据操作
导入数据、查询结果保存
SQL操作
Outline
海量数据处理方法
MapReduce
Dryad
MapReduce
VS Dryad
海量数据管理系统
HBase
Hive
Pig
Pig----introduction
台平的析分据数量海
包括构结估评序程和言语序程级高
程序环境:Pig Latin
Pig----Pig Latin
同言语作操库据数的中库据数系关的统传
似类常非
析分和询查的据数对于重侧
行执动自和化优动自
Pig----Pig Latin
执行语句形式
(1) LOAD语句从文件系统中读取数据;
(2) 数据处理语句;
(3)STORE系件文到出输果结理处把句语
者或,中统DUMP屏到出输果结理处把句语
上幕
Pig----Pig数据操作模式
Local
Shell
脚本文件
嵌入式程序
MapReduce
Shell
脚本文件
嵌入式程序
Conclusion
Hbase:基于Hadoop的数据库系统
Hive:基于Hadoop的数据仓库
Pig:基于Hadoop的高级编程开发环境
THANK YOU