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