最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

数据立方一体机DAG并行计算框架编程手册【云创大数据】

IT圈 admin 21浏览 0评论

2024年9月29日发(作者:粟永昌)

旗开得胜

一、简介

DAG并行计算框架是一个可以处理协作型作业的并行编程平台,如果一个复杂问题的子问题之

间有数据依赖,则其就可以构造一个基于DAG的协作型作业。

图1 一个有向无环图DAG实例

一个协作型作业根据子任务间的数据依赖关系可以抽象成一个有向无环图(Directed Acyclic

Graph),如图1所示。子任务之间的数据依赖使得整个作业无法切分为互相无关联的子任务,因

此无法完全并行执行。例如,数据库的多表关联操作就是如此,如图2所示,select A.* B.* from A,B

where A.a = B.a,

1

读万卷书 行万里路

旗开得胜

Task1:A表

查询

A

Task0:Job

预处理

Task3:A表

结果与B表

结果做笛卡

尔积

最终结果集

B

Task2:B表

查询

二,构造作业

一个DAG作业(job),由多个有依赖关系的任务(task)组成,task是DAG图中的节点,

两个节点之间的边是任务的依赖关系。Task执行的是用户层的代码,task的Input和Output数据

由框架负责传输,一个job的构造如下所示:

public static void setJob(Job job){

实例化一个子任务既DAG图的节点

Task task0 = new Task();

设置该任务所要调用的应用层的类

ssName("chIndexFile");

2

读万卷书 行万里路

是否为DAG图的最终节点

(false);

是否为DAG图的起始节点

ry(true);

所使用的应用层jar包

Name("");

设置task名

kName("DispatchIndexFile");

Task task1 = new Task();

ssName("StudentIndex");

(false);

ry(false);

Name("");

kName("HandleStudentIndex");

读万卷书 行万里路

旗开得胜

3

2024年9月29日发(作者:粟永昌)

旗开得胜

一、简介

DAG并行计算框架是一个可以处理协作型作业的并行编程平台,如果一个复杂问题的子问题之

间有数据依赖,则其就可以构造一个基于DAG的协作型作业。

图1 一个有向无环图DAG实例

一个协作型作业根据子任务间的数据依赖关系可以抽象成一个有向无环图(Directed Acyclic

Graph),如图1所示。子任务之间的数据依赖使得整个作业无法切分为互相无关联的子任务,因

此无法完全并行执行。例如,数据库的多表关联操作就是如此,如图2所示,select A.* B.* from A,B

where A.a = B.a,

1

读万卷书 行万里路

旗开得胜

Task1:A表

查询

A

Task0:Job

预处理

Task3:A表

结果与B表

结果做笛卡

尔积

最终结果集

B

Task2:B表

查询

二,构造作业

一个DAG作业(job),由多个有依赖关系的任务(task)组成,task是DAG图中的节点,

两个节点之间的边是任务的依赖关系。Task执行的是用户层的代码,task的Input和Output数据

由框架负责传输,一个job的构造如下所示:

public static void setJob(Job job){

实例化一个子任务既DAG图的节点

Task task0 = new Task();

设置该任务所要调用的应用层的类

ssName("chIndexFile");

2

读万卷书 行万里路

是否为DAG图的最终节点

(false);

是否为DAG图的起始节点

ry(true);

所使用的应用层jar包

Name("");

设置task名

kName("DispatchIndexFile");

Task task1 = new Task();

ssName("StudentIndex");

(false);

ry(false);

Name("");

kName("HandleStudentIndex");

读万卷书 行万里路

旗开得胜

3

发布评论

评论列表 (0)

  1. 暂无评论