CN102033748A - 一种数据处理流程代码的生成方法 - Google Patents

一种数据处理流程代码的生成方法 Download PDF

Info

Publication number
CN102033748A
CN102033748A CN2010105789330A CN201010578933A CN102033748A CN 102033748 A CN102033748 A CN 102033748A CN 2010105789330 A CN2010105789330 A CN 2010105789330A CN 201010578933 A CN201010578933 A CN 201010578933A CN 102033748 A CN102033748 A CN 102033748A
Authority
CN
China
Prior art keywords
node
data
data processing
template
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105789330A
Other languages
English (en)
Other versions
CN102033748B (zh
Inventor
叶丹
易小华
刘杰
虞海江
徐罡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan dream database Co., Ltd
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN 201010578933 priority Critical patent/CN102033748B/zh
Publication of CN102033748A publication Critical patent/CN102033748A/zh
Application granted granted Critical
Publication of CN102033748B publication Critical patent/CN102033748B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种数据处理流程代码的生成方法,属于云计算的数据集成领域。本方法为:1)将可视化的数据处理流程Ω抽取为一逻辑模型实例;所述数据处理流程为一有向无环图结构流程,其包括流程名、版本、数据处理节点、节点连接信息;2)将逻辑模型实例转换为数据处理流程物理模型实例,所述物理模型实例为一有向无环图结构;3)根据数据处理流程物理模型实例生成数据处理流程的MapReduce代码。本发明降低了用户开发难度、加快了数据分析的进度;此外通过本发明,用户可以对数据处理流程进行参数调优配置,代码优化和流程逻辑自动优化等,极大提高流程的执行效率。

Description

一种数据处理流程代码的生成方法
技术领域
本发明涉及一种数据处理流程代码的生成方法,尤其涉及一种面向MapReduce计算模型的数据处理流程代码生成方法,属于云计算的数据集成领域。
背景技术
数据处理通常可以刻画为对一个或多个数据集进行多步数据处理操作的流程化处理过程,这些数据处理操作既包含一些通用的关系形式的操作,如:过滤,合并,分组,连接,计数等,也包含一些领域相关的操作,如:语义标注,人脸检测等,我们将这个流程化的数据处理过程称为数据处理流程。常见的数据处理流程应用包括数据仓库应用中的ETL过程,商业智能应用中的数据分析挖掘过程,科学计算领域的科学工作流,搜索引擎领域的大量分析处理过程等,这些典型的应用场景广泛出现在大型企业和科学研究领域.
MapReduce编程模型首先由Google的工程师提出,从用户的角度讲,它将计算过程分为两个最基本的阶段:Map和Reduce,每个阶段的输入都是一系列的键值对(key/value),每个阶段的输出也是一系列的键值对,如下所示:
Map:(k1,v1)→list(k2,v2),接收键值对(k1,v1),经过用户编写的Map代码处理后输出中间键值对(k2,v2),MapReduce系统将自动的根据键对所有中间值进行分组归并,输出键值对(k2,list(v2)),并将其传到Reduce方法中。
Reduce:(k2,list(v2))→list(k3,v3),接收Map阶段输出的键值对(k2,list(v2)),经过用户编写的Reduce代码处理后,将这些值进行合并等操作形成一个更小的值的集合(一般是每个Reduce调用产生0或者1个输出值)。
在信息爆炸的今天,随着数据量的不断增大,数据处理流程越来越呈现出海量和并行的特点,数据格式也以非结构化和结构化的形式出现,而且处理数据的底层系统一般使用集群来搭建,这些对传统的并行数据处理流程实现方法,如:DBMS,网格计算等,提出了新的挑战。而使用MapReduce数据并行计算模型极大的简化了在集群上的海量结构化或者非结构化数据的并行处理过程,而且开源云计算平台Hadoop很好的实现了这一计算模型,满足了大多数用户海量数据处理的需求,并在实际场景中得到了广泛的应用,很多企业,政府,科研机构等都开始使用Hadoop进行海量数据的分析处理。
尽管MapReduce计算模型的提出和Hadoop平台的推出很好的解决了海量数据并行处理的过程,但也正是由于MapReduce模型的简单性导致了一下几方面的问题:
1)不直接支持复杂的n步n分支数据处理流程操作,而这在实际数据处理中是非常常见的。
2)缺少同时处理多个数据集的严格支持能力,必须通过用户自己编程实现,这是一项非常艰难的工作。
3)一些常用的基本数据操作,如:过滤,连接,分组等操作,在每次使用时必须重复的手工编码实现。
最终由于这几个问题的出现,用户在使用MapReduce的实现数据处理流程的过程中总是手工编写各种复杂的数据处理流程,纠缠于多数据源的数据分析,重复的在一些黑盒流程中实现基本的操作,严重限制了MapReduce编程模型的使用,减慢数据分析进度,而且使数据处理程序的可读性大大降低,同时也不可能进行一些自动的流程优化。因此迫切需要一些能够简化基于MapReduce数据处理流程开发的方法及工具
很多科研机构或企业都对简化数据处理流程的MapReduce实现上做了大量的研究,如:Apache的Hadoop,FaceBook的Hive,Yahoo的Pig,Google的Sawzall和FlumeJava等,Hadoop实现了可以在普通的商用机器集群上并行处理海量数据的MapReduce软件框架,Hive提供了基于SQL的简单查询语言Hive QL来简化数据处理流程的操作,同时支持用户自定义的Map和Reduce操作。Pig也是基于Hadoop平台提供了一种类SQL的声明式编程语言pigLatin,Sawzall则提供了一种类C语言的编程方式实现MapReduce,FlumeJava则提供一种通用的接口,但是这些系统和方法普遍存在以下几个问题:
1)没有统一的数据操作组件模型来支持用户自定义数据处理操作。
2)对于普通用户来说使用系统提供的简化MapReduce的编程语言仍然有困难。
3)使用通用的MapReduce流程引擎,由于不同流程的差异性,会导致不必要的判断而带来性能上的损失
4)系统在MapReduce运行参数设置上对用户完全透明,这对于不同的流程执行效率会带来不稳定的影响。
发明内容
针对现有技术中的问题,我们需要一种方法,可以让普通用户通过拖拽数据处理操作组件,连线,以及填写一些配置参数的形式来可视化的设计这个数据处理流程,然后将这个用户设计的这个数据处理流程自动的转换为相应的MapReduce执行代码,从而极大简化用户使用MapReduce并行处理海量数据,提高流程的运行效率。
本发明的目的是提出一种数据处理流程代码的生成方法,这种方法首先将用户通过可视化的方式设计的数据处理流程抽取为一个逻辑模型实例,这个逻辑模型实例保存了流程的数据处理节点信息,节点间的连接信息和流程名,版本等基本信息,然后验证逻辑模型实例是否符合要求,如果不符合则提示用户修改错误,如符合则根据模型转换算法自动的将该逻辑模型实例转换为相应的数据处理流程物理模型,这个物理模型实例保存了流程执行的MapReduce任务拓扑结构,每个任务包含的数据处理节点信息,节点间的连接信息,流程名,版本等基本信息,最后将物理模型实例根据代码生成算法转换为流程的MapReduce实现代码。本发明的技术方案可以表示为图1,具体步骤如下:
1.首先用户使用可视化方式设计数据处理流程,包括提供流程名,版本,数据处理节点,节点连接等信息,然后检查这个数据处理流程是不是一个符合要求的有向无环图的结构,用户配置的信息是否符合相应的数据处理节点和连接的要求等,如果不符合提示用户修改,如果符合则将流程保存为我们定义的特定数据处理流程逻辑模型。
逻辑模型是从用户的视角来定义一个有向无环图,它表示了数据从源端到目的端的一个处理过程,图的节点与节点间传递的数据统一使用二维关系表模式来表示,这种模式的逻辑结构就是一张二维关系表,由行和列构成,每一行是一条数据记录,每条记录由多个数据列构成,每列都包含了列名、数据类型、长度、精度、数据模式等属性,可表示为:R(S*),其中R为表名,S为列,可以表示为一个多元组S=(Name,Type,Pattern,Precision,...),逻辑模型中,V为节点集合,每个节点可以表示为四元组v(v∈V),v=(Id,I,O,L),其中:Id用来标识节点唯一性;I表示的是该节点的一个或者多个输入记录模式集;O表示的是一个或者多个有限输出记录模式集;L表示了该操作的逻辑语义,它包括了该节点需要用户提供的一些逻辑操作参数,如:节点实现的组件ID、过滤条件等,按照输入输出数可以把逻辑模型的节点分为三种:数据源节点,数据装载节点和数据转换节点。数据源节点(起始节点)用来提供关系型记录集,只有输出。数据处理结果装载节点(结束节点),用来存储数据处理结果集,只有输入,转换节点表示数据转换操作,包含输入记录集模式与输出记录集模式的属性映射关系及元组选择条件。逻辑模型中的边为有向边,连接各节点,表示了各个操作之间的依赖关系和数据的流向,可以用多元组(R(S*),VB,VE)来表示,VB为起始节点,VE为结束节点,数据流连接将各个操作之间的依赖关系分为三种:
a)线性关系:表示按线性先后顺序执行的操作序列。
b)多分支聚合关系:某个操作接收多个操作的处理结果进行处理。
c)多分支并发关系:某个操作的处理结果被分为多个分支并发处理。
给定一个用户可视化设计的数据处理流程Ω,它对应的逻辑模型LG(Ω)按照下面的步骤构建:
1)对Ω中每个数据源抽取操作创建一个数据源节点,赋予该数据源节点唯一ID号,数据抽取参数S,抽取参数看数据源的类型而定,如:数据库的话需要用户名,密码,连接URL等,文件的话则需要文件路径等,数据源的输出记录模式集为O,操作语义。
2)对Ω中每一个数据转换操作创建一个转换节点α,并赋予一个唯一的ID号,输入记录模式集为{I1,...,In},输出记录模式集为O,根据其操作语义,生成每个输入记录模式集模式Ik与输出记录模式集模式O的属性映射关系mapping(α,Ik,O)和元组选择条件等。
3)对Ω中每个数据处理结果装载操作创建一个数据装载节点,赋予ID,数据装载参数S,不同的数据源需要配置不同的装置参数,如:数据库需要用户名,密码,连接URL等,以及输入记录模式集I等。
4)根据Ω中数据流向在数据处理节点之间添加有向边,并填充边对应的二维表数据模式信息,得到该可视化数据流程的逻辑模型实例。
2.将第一步构造的逻辑模型实例根据模型转换算法转换为符合物理模型的数据处理流程物理模型实例,物理模型实例也是一个有向无环图的结构,也包含逻辑模型中的三种节点,连接也和逻辑模型实例类似,但是与逻辑模型实例不同的是,物理模型实例中每个节点还包括:
a)MapReduce运行需要的一些配置参数,配置参数根据配置文件以键值对的形式来指定,每个节点都不一样,比如这个操作是只有Map操作的Map节点还是既有Map又有Reduce的MapReduce节点等
b)各个节点进行MapReduce运算需要的map操作代码模板和reduce操作代码模板,以及键/值类型代码模板,物理模型还包括流程公共模板:数据连接模板,流程头部模板,流程尾部模板,MapReduce任务模板,MapReduce任务依赖关系生成模板,任务运行模板,流程尾部代码模板等
在说明具体转换步骤前,我们先引入一个概念“本地节点组”,他用来捕获物理模型实例中以线性方式执行而不存在分支或者聚合的一系列操作节点,在本地节点组的基础上,我们可以来划分MapReduce任务,MapReduce计算模型允许我们通过合并Map操作节点的方式来生成以mapper+/reducer/mapper*形式组织的MapReduce任务,从而减少流程MapReduce任务数,降低磁盘和数据传递消耗,提高效率。具体的模型转换算法执行步骤如下所示:
1)构造一个空的物理模型,它不包含任何节点信息和连接信息,然后填充实现这个数据处理流程需要的一些流程公共模板所在的文件路径信息,这些代码模板包括数据连接模板,流程头部模板,流程尾部模板等,最后还要填充从逻辑模型继承过来的流程名,流程版本等模型公共信息。
2)对逻辑模型实例LG的所有节点进行有向无环图的拓扑排序。
3)按拓扑排序顺序的结果依次遍历每个逻辑节点,读取每个节点的组件ID信息,操作参数信息S,输入模式信息I,输出模式信息O,记录为V1={ID,I,O,S}。
4)根据3)中构造的V1,实例化一个物理节点V2={ID,I,O,S,C},其中ID,I,O,S和V1相同,C则为实现该节点功能的一些代码模板,包括Map操作代码模板,Reduce操作代码模板等。
5)按照遍历的先后顺序连接物理节点,构造物理模型的边信息,得到物理模型有向无环图结构。
6)按照以上构造的物理模型有向无环图结构,提取这个物理模型中的本地节点组信息。
7)针对每个本地节点组提取包含Reduce操作的节点。以Reduce操作节点为划分点,按至少一个map操作连一个reduce操作再连0个或多个map操作的方式(map+/reduce/map*)对本地节点组进行划分,构造相应本地节点组的MapReduce任务集。
8)按照本地节点组之间的连接信息和本地节点组内的连接信息生成各个MapReduce任务之间的依赖关系,最后得到该逻辑模型实例的物理模型实例。
3.将第二步中构造的物理模型实例按照我们设计的代码生成算法生成数据处理流程的MapReduce代码,我们使用Java语言和Hadoop平台提供的MapReduce接口做样例介绍代码生成算法,首先我们介绍数据处理流程的代码结构,每个流程都是一个Java类,数据连接,每个物理节点的Map操作和Reduce操作都作为该类的内部类来实现,对于物理模型中每个MapReduce任务根据其包含的物理节点,使用Hadoop平台提供的ChainMapper和ChainReducer接口组织节点的map操作和reduce操作,并配置好任务的运行参数信息封装出一个Hadoop的JobConf实例,每个流程的代码还包含在一个Java方法runJob,他首先给每个任务构造一个Hadoop Job实例,然后添加每个任务依赖的MapReduce任务,将所有任务通过Hadoop提供的JobControl接口提交,最后在iava方法Main中,构造一个数据处理流程实例对象,并执行这个对象的runJob方法,如附图2所示,
代码生成算法的具体执行步骤如下所示:
1)使用Jet代码生成技术,生成物理模型实例中包含的每个代码模板的模板解析类,包括流程头部模板解析类,数据连接模板解析类,每个节点的输入输出键类型解析类,每个节点的map和reduce操作代码模板解析类等。
2)根据物理模型实例的流程名等信息和流程头部模板解析类生成流程类的头部代码。
3)根据本地节点组之间的连接信息和连接模板解析类生成流程连接内部类代码。
4)按拓扑排序顺序依次遍历物理模型实例PG的每个节点V,根据节点信息生成每个节点的输入输出键类型内部类,Map和Reduce操作内部类代码。
5)声明runJob方法,并在方法体中遍历MapReduce任务集的每个任务,相应的生成任务配置代码,构造所有的任务配置实例(JobConf)实例。
6)在runJob方法中,对每个JobConf实例构造一个Hadoop Job实例,并添加每个任务(Job)依赖的其他Job,从而构建数据处理流程的各个MapReduce任务之间的依赖关系。
7)在runJob方法中将使用Hadoop构造平台提供的JobControl接口提交所有的Job,以便调度任务的运行顺序。
8)在main方法中按照调度任务的运行顺序生成流程执行的入口代码和流程的尾部代码。
本发明的积极效果为:
采用本发明的方法,用户在用可视化的工具设计好一个数据处理流程后,系统将自动将这个流程转换为mapreduce执行代码,并提交到实现了mapreduce的云平台中运行,大大降低了用户开发基于分布式集群的海量数据处理流程的难度,加快了数据分析的进度。此外由于系统使用统一的模型来定义数据处理流程操作,用户可以将自己开发的mapreduce操作方便的集成进来,而且又有使用模型驱动和代码生成技术,可以对数据处理流程进行参数调优配置,代码优化和流程逻辑自动优化等,极大提高流程的执行效率。
附图说明
图1是数据处理流程技术方案图;
图2是物理模型和代码映射图;
图3是数据处理流程实施实例图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
假定数据库中存有一张客户表和一张订单表,里面存有客户信息和订单信息,大概1亿的用户数据量和70亿的订单量,现在要对这张表做一个如下的统计操作,统计订单总额度最大的前100个客户信息和订单额度信息,同时客户信息中某些字段的格式必须按照修订后的格式显示,如:生日,收入表示等。客户表的结构如下所示:
customer(
c_custkey     decimal(9,0)not null,
c_name         varchar(25)not null,
c_address     varchar(40)not null,
c_birthday     datetime not null,
c_phone        char(15)not null,
c_income      decimal(7,2)not null,
c_comment        varchar(117)not null
)
客户表包括客户主键,姓名,地址,生日,联系电话,收入,备注等字段信息
orders(
o_orderkey       decimal(12,0)not null,
o_custkey        decimal(9,0)not null,
o_orderstatus   char(1)not null,
o_totalprice    decimal(8,2)not null,
o_orderdate      date not null,
o_orderpriority char(15)not null,
o_clerk           char(15)not null,
o_comment           varchar(79)not null
)
订单表包括订单主键,客户ID,订单状态,订单额度,订单日期,优先级,处理人,备注等字段信息。
以上这个功能可以使用可视化的数据处理流程设计工具设计如图3所示的数据处理流程,具体的操作细节如下:
A1:从数据库中提取订单信息
A2:从数据库中提取客户信息
A3:过滤那些还没有生效的订单
A4:将客户和订单信息按照客户ID做连接操作
A5:对连接后的数据按照客户ID做分组操作
A6:对每个客户ID的分组计算相应的有效订单总额
A7:按照额度对客户信息进行排序操作
A8:提取前100个客户的信息和总额度信息
A9:将A8提取的数据保存在数据库中对于以上这个数据处理流程,我们可以按照如下的方式来生成这个流程的MapReduce实现代码:
1.构造图3对应的数据处理流程的逻辑模型,逻辑模型定义了数据处理操作的执行顺序和操作语义(指这个数据处理操作实现的功能)。将图3所示的数据处理流程转换为逻辑模型:
流程信息:流程名,创建时间,创建人,版本号等
节点信息:
A1:数据源节点
操作参数:数据库连接用户名,密码,url,表名等
输出模式:customer(c_custkey,......,c_comment);
输入模式:空
操作语义:数据库抽取操作
A2:数据源节点
操作参数:数据库连接用户名,密码,url,表名等
输出模式:orders(o_orderkey,......,o_comment);
输入模式:空
操作语义:数据库抽取操作
A3:转换节点
元组条件:订单状态为已完成(o_orderstatus=1)
输入模式:orders(o_orderkey,......,o_comment);
输出模式:orders(o_orderkey,......,o_comment);
操作语义:过滤操作
映射关系:按字段名一一映射
A4:转换节点
元组条件:joinkey=“c_custkey,o_custkey”
输入模式:orders(o_orderkey,......,o_comment);
          customer(c_custkey,......,c_comment);
输出模式:orders_customer(o_orderkey,......,o_comment,c_custkey,......,c_comment).
操作语义:数据连接操作
映射关系:按字段名一一映射
A5:转换节点
元组条件:group=c_custKey,按照客户ID分组
输入模式:orders_customer(o_orderkey,......,o_comment,c_custkey,......,c_comment).
输出模式:group_orders_customer(o_orderkey,......,o_comment,c_custkey,......,c_comment).
操作语义:分组操作
映射关系:按照字段名一一映射
A6:转换节点
元组条件:累加o_totalprice字段的值
输入模式:group_orders_customer(o_orderkey,......,o_comment,c_custkey,......,c_comment).
输出模式:customer_orderprice(o_totalprice,c_custkey,......,c_comment).
操作语义:统计操作
映射关系:按照字段名一一映射
A7:转换节点
元组条件:按照o_totalprice字段值排序
输入模式:customer_orderprice(o_totalprice,c_custkey,......,c_comment).
输出模式:customer_orderprice(o_totalprice,c_custkey,......,c_comment).
操作语义:排序操作
映射关系:按照字段名一一映射
A8:转换节点
元组条件:取前100
输入模式:customer_orderprice(o_totalprice,c_custkey,......,c_comment).
输出模式:customer_orderprice(o_totalprice,c_custkey,......,c_comment).
操作语义:取前n条记录操作
映射关系:按照字段名一一映射
A9:处理结果装载节点
操作参数:数据库用户名,密码,连接url,装载sql语句,装载策略等
输入模式:customer_orderprice(o_totalprice,c_custkey,......,c_comment).
输出模式:空
操作语义:数据库装载操作
连接信息:
每条连接信息包含了起始节点ID,终止节点ID,传输模式信息,在图3所示的数据处理流程逻辑模型中包含8条连接边,起点和终点都对应相应的节点ID,传输模式信息对应起始节点的输出模式信息。
2.根据模型转换步骤一步一步构造逻辑模型对应的物理模型
1)构造一个节点和连接信息都空的物理模型,这个物理模型包括一些模型公共信息:公共代码模板:
头部模板文件:Header.javajet
连接模板文件:Connection.javajet
尾部模板文件:Footer.javajet
MapReduce任务模板:JobInfo.javajet
任务依赖关系生成代码模板:JobDependency.javajet
任务运行代码模板:RunJob.javajet
2)填充从逻辑流程继承过来的一些公共信息,包括流程名等。
3)对逻辑流程节点按照拓扑排序的顺序进行遍历,生成每个物理节点信息和物理连接信息,对于图3的逻辑模型生成的节点信息为:
PA1:继承了逻辑模型中A1节点的操作参数,输入模式,输出模式,元组条件等信息,同时增加MapReduce参数和代码模板信息,主要包括
节点MapReduce类型:Map操作节点
MapReduce实现代码模板:map操作代码模板mapper.javajet
PA2,PA3与PA1类似
PA4:继承了逻辑模型中A3节点的信息,同时增加MapReduce参数和代码模板信息,
MapReduce类型:map和reduce操作
代码模板:mappe.javajet和reduceer.javajet
PA5,PA6,PA7与PA4类似
PA8,PA9与PA1类似
生成的连接信息和逻辑模型的联系信息一样,只不过把起始节点和末端节点设为物理节点对应的ID。
4)按照生成了物理节点信息和连接信息提取本地组信息,图3可以提取出3个本地组,分别为:
组1:PA1,PA3
组2:PA2
组3:PA4,PA5,PA6,PA7,PA8,PA9
5)针对每个本地组,以MapReduce类型的物理节点为划分点按照map+/reduce/map*模式生成MapReduce任务,针对图3的三个本地组,可以分解为如下mapreduce任务:
组1:一个mapreduce任务m1:由PA1和PA3合并而成
组2:一个mapreduce任务m2:由PA2构成
组3:三个MapReduce任务:
m3:PA4
m4:PA5,PA6
m5:PA7,PA8,PA9
6)根据连接信息生成各个MapReduce任务之间的依赖关系:
m3依赖于m1,m2
m4依赖于m3
m5依赖于m4
3.根据代码生成步骤一步一步构造物理模型对应MapReduce代码
1)根据Header.javajet和流程名生成流程头部代码,如下所示:
Public class流程名{
2)根据连接信息和connection.javajet生成连接内部类代码,如下所示:
Public static class连接名1{
String c_custkey;
//其他字段的代码
......
}
Public static class连接名2{
String c_custkey;
//其他字段的代码
......
}
3)按拓扑排序的顺序再根据每个节点包含的代码模板生成键类型代码,map操作代码,
reduce操作代码等,如下所示:
Public static class Key1{
//字段代码
}
Public static class PA1MapClass{
   Public void map(Key1 key,Conn1 value){
      //map操作代码
      Return(key2,value2);
   }
}
Public static class MapOutKeyType1{
//字段代码
}
Public static class MapOutValueType1{
//字段代码
}
Public static class PA2ReduceClass{
   Public void reduce(MapOutKeyType1 key,List<MapOutValueType1>value){
      //reduce操作代码
      Return(key3,value3);
    }
}
......其他节点与此类似生成代码
4)根据物理模型中生成的每个MapReduce任务信息,依次生成每个MapReduce任务的配置代码,并按照配置生成MapReduce任务,包括map和reduce的组合操作,输入,输出信息等,代码如下所示:
Job  getM1Job(){
   JobConf conf=new JobConf();
   //配置job的输入输出键值类型,map和reduce操作类等信息
   ......
   Return new Job(conf);
}
//其他MapReduce任务的代码与此类似
......
5)使用JobControl接口添加MapReduce任务之间的依赖关系,根据JobDependency.javajet代码模板和任务依赖关系生成如下代码:
Void runJob(){
      JobControl jc=new JobControl(″test″);
      Job j1=getM1Job();
      //其他任务类似
      ......
      J3.addDenpendcyJob(j1,j2);
      J4.addDenpendcyJob(j3);
      J5.addDenpendcyJob(j5);
      jc.run();
}
6)根据RunJob.javajet和流程信息生成main函数流程执行入口代码:
public static void main(String[]args){
   流程名 testInstance=new流程名();
   testInstance.runJob();
}
7)根据Footer.javajet生成尾部代码:
“}”

Claims (9)

1.一种数据处理流程代码的生成方法,其步骤为:
1)将可视化的数据处理流程Ω抽取为一逻辑模型实例;所述数据处理流程为一有向无环图结构流程,其包括流程名、版本、数据处理节点、节点连接信息;
2)将逻辑模型实例转换为数据处理流程物理模型实例,所述物理模型实例为一有向无环图结构;
3)根据数据处理流程物理模型实例生成数据处理流程的MapReduce代码。
2.如权利要求1所述的方法,其特征在于所述有向无环图中,节点与节点间传递的数据统一使用二维关系表模式来表示。
3.如权利要求2所述的方法,其特征在于所述二维关系表由行和列构成,每一行是一条数据记录,每条记录由多个数据列构成,每列所包含的属性包括:列名、数据类型、长度、精度、数据模式属性信息;每个节点所包含的属性包括:节点标识、节点输入记录模式集、节点输出记录模式集、节点操作的逻辑语义。
4.如权利要求3所述的方法,其特征在于所述步骤1)包括如下步骤:
1)对Ω中每个数据源抽取操作创建一个数据源节点,并赋予该数据源节点一节点标识ID、数据抽取参数、数据源的输出记录模式集和操作语义;
2)对Ω中每一个数据转换操作创建一个转换节点α,并赋予该转换节点一ID号、输入记录模式集{I1,...,In}、输出记录模式集O,根据数据转换操作语义生成每个输入记录模式集模式Ik与输出记录模式集O的属性映射关系mapping(α,Ik,O)和元组选择条件;
3)对Ω中每个数据处理结果装载操作创建一个数据装载节点,并赋予该数据装载节点一ID号、数据装载参数、输入记录模式集;
4)根据Ω中数据流向在数据处理节点之间添加有向边,并填充边对应的二维表数据模式信息,得到该可视化数据流程Ω的逻辑模型实例。
5.如权利要求4所述的方法,其特征在于所述逻辑模型实例的节点包括:数据源节点、数据装载节点、数据转换节点,所述逻辑模型实例的边为有向边,连接各节点,表示各个操作之间的依赖关系和数据流向;所述依赖关系包括:线性关系、多分支聚合关系、多分支并发关系。
6.如权利要求1或5所述的方法,其特征在于所述物理模型实例的节点包括:数据源节点、数据装载节点、数据转换节点,各节点通过有向边连接,且各节点的MapReduce运行配置参数根据配置文件以键值对的形式来指定;所述物理模型实例包括流程公共模板。
7.如权利要求6所述的方法,其特征在于所述物理模型实例中的各个节点还包括进行MapReduce运算需要的map操作代码模板、reduce操作代码模板、键/值类型代码模板;所述流程公共模板包括:数据连接模板、流程头部模板、流程尾部模板、MapReduce任务模板、MapReduce任务依赖关系生成模板、任务运行模板、流程尾部代码模板。
8.如权利要求6所述的方法,其特征在于将逻辑模型实例转换为数据处理流程物理模型实例的方法为:
1)构造一个空的物理模型,然后填充实现该数据处理流程所需流程公共模板所在的文件路径信息以及从逻辑模型实例继承过来模型公共信息;
2)对逻辑模型实例的所有节点进行有向无环图的拓扑排序;
3)按拓扑排序顺序的结果依次遍历每个逻辑节点,读取每个节点的组件ID信息,操作参数信息S,输入模式信息I,输出模式信息O,记录为该节点的四元组V1={ID,I,O,S};
4)根据构造的V1,实例化一个物理节点V2={ID,I,O,S,C},C为实现该节点功能的代码模板,包括Map操作实现代码模板,Reduce操作实现代码模板;
5)按照遍历的先后顺序连接物理节点,构造物理模型的边信息,得到物理模型有向无环图结构;
6)提取5)所得物理模型中的本地节点组信息;所述本地节点组为用来捕获物理模型实例中以线性方式执行而不存在分支或者聚合的一系列操作节点;
7)针对每个本地节点组提取包含Reduce操作的节点,以Reduce操作节点为划分点,按至少一个map操作连一个reduce操作再连0个或多个map操作的方式对本地节点组进行划分,构造相应本地节点组的MapReduce任务集;
8)按照本地节点组之间的连接信息和本地节点组内的连接信息生成各个MapReduce任务之间的依赖关系,最后得到该逻辑模型实例的物理模型实例。
9.如权利要求8所述的方法,其特征在于将数据处理流程物理模型实例生成数据处理流程的MapReduce代码的方法为:
1)使用Jet代码生成方法,生成物理模型实例中包含的每个代码模板的模板解析类,包括流程头部模板解析类、数据连接模板解析类、每个节点的输入输出键类型解析类、每个节点的map和reduce操作代码模板解析类;
2)根据物理模型实例的模型公共信息和流程头部模板解析类生成流程类的头部代码;
3)根据本地节点组之间的连接信息和连接模板解析类生成流程连接内部类代码;
4)按所述拓扑排序顺序依次遍历物理模型实例的每个节点四元组信息V,根据节点信息V生成每个节点的输入输出键类型内部类、Map和Reduce操作内部类代码;
5)遍历MapReduce任务集的每个任务,并将每一任务生成一任务配置代码,构造所有任务的任务配置实例JobConf;
6)对每个JobConf构造成一个Hadoop Job实例,并添加每个任务依赖的其他任务,构建数据处理流程的各个MapReduce任务之间的依赖关系;
7)利用Hadoop构造平台提供的JobControl接口提交所有的任务,以便调度任务的运行顺序;
8)按照调度任务的运行顺序生成数据处理流程执行的入口代码和流程的尾部代码。
CN 201010578933 2010-12-03 2010-12-03 一种数据处理流程代码的生成方法 Active CN102033748B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010578933 CN102033748B (zh) 2010-12-03 2010-12-03 一种数据处理流程代码的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010578933 CN102033748B (zh) 2010-12-03 2010-12-03 一种数据处理流程代码的生成方法

Publications (2)

Publication Number Publication Date
CN102033748A true CN102033748A (zh) 2011-04-27
CN102033748B CN102033748B (zh) 2013-11-06

Family

ID=43886684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010578933 Active CN102033748B (zh) 2010-12-03 2010-12-03 一种数据处理流程代码的生成方法

Country Status (1)

Country Link
CN (1) CN102033748B (zh)

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999323A (zh) * 2011-09-16 2013-03-27 北京百度网讯科技有限公司 一种生成目标代码的方法、数据处理的方法及装置
CN103150161A (zh) * 2013-02-06 2013-06-12 中金数据系统有限公司 基于MapReduce 计算模型的任务封装方法及装置
CN103166785A (zh) * 2011-12-15 2013-06-19 同程网络科技股份有限公司 基于Hadoop的分布式日志分析系统
CN103176896A (zh) * 2011-12-23 2013-06-26 阿里巴巴集团控股有限公司 一种测试用例的生成方法及装置
WO2013138982A1 (zh) * 2012-03-19 2013-09-26 华为技术有限公司 一种并行处理方法和装置
CN104484226A (zh) * 2014-12-08 2015-04-01 无锡城市云计算中心有限公司 MapReduce作业处理系统、服务器及处理方法
CN104573063A (zh) * 2015-01-23 2015-04-29 四川中科腾信科技有限公司 一种基于大数据的数据分析方法
CN104679511A (zh) * 2015-02-10 2015-06-03 北京系统工程研究所 基于MDE模型转换的MapReduce代码生成方法
CN104951286A (zh) * 2014-03-25 2015-09-30 阿里巴巴集团控股有限公司 一种将MapReduce转换为SQL的方法和装置
CN105229597A (zh) * 2013-05-22 2016-01-06 国际商业机器公司 分布式特征收集与关联引擎
CN105303456A (zh) * 2015-10-16 2016-02-03 国家电网公司 电力传输设备监控数据处理方法
CN105719078A (zh) * 2016-01-20 2016-06-29 广东电网有限责任公司电力调度控制中心 一种基于业务流程对接及状态监控的全息式流程管理方法
CN105912588A (zh) * 2016-03-31 2016-08-31 中国农业银行股份有限公司 一种基于内存计算的大数据可视化处理方法及系统
CN106102027A (zh) * 2016-06-12 2016-11-09 西南医科大学 基于MapReduce的短信批量提交方法
CN106202006A (zh) * 2016-06-27 2016-12-07 北京百度网讯科技有限公司 文件生成方法和装置
CN106569883A (zh) * 2015-10-10 2017-04-19 阿里巴巴集团控股有限公司 一种分布式任务处理方法及设备
CN106603474A (zh) * 2015-10-19 2017-04-26 上海宝信软件股份有限公司 基于自主算法的可视化信息安全业务的构建方法及系统
CN106708897A (zh) * 2015-11-17 2017-05-24 阿里巴巴集团控股有限公司 一种数据仓库质量保障方法、装置和系统
CN106708854A (zh) * 2015-11-13 2017-05-24 博雅网络游戏开发(深圳)有限公司 数据导出方法和装置
CN106815019A (zh) * 2016-12-30 2017-06-09 国家计算机网络与信息安全管理中心 Hadoop分布式算法的WEB界面集成方法及装置
CN106959990A (zh) * 2016-08-30 2017-07-18 智器云南京信息科技有限公司 基于分析模型的情报可视化分析方法、装置及终端
CN107066248A (zh) * 2016-12-29 2017-08-18 北京五八信息技术有限公司 处理模型确定方法及装置
CN107122359A (zh) * 2016-02-24 2017-09-01 中移物联网有限公司 数据实时跟踪可视化处理方法及装置
CN107133052A (zh) * 2017-05-27 2017-09-05 杭州迪脉信息科技有限公司 流程创建的方法及装置
CN107229815A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据分析方法及装置
CN107291954A (zh) * 2017-07-28 2017-10-24 南京邮电大学 一种基于MapReduce的OCL并行查询方法
CN107886286A (zh) * 2016-09-29 2018-04-06 中国石油化工股份有限公司 地震数据处理作业流方法及系统
CN108062407A (zh) * 2017-12-28 2018-05-22 成都飞机工业(集团)有限责任公司 一种项目可视化管控数据抽取方法
CN108153897A (zh) * 2018-01-10 2018-06-12 中国银行股份有限公司 一种plsql程序代码生成方法及系统
CN108984155A (zh) * 2018-05-17 2018-12-11 阿里巴巴集团控股有限公司 数据处理流程设定方法和装置
CN109032590A (zh) * 2018-09-26 2018-12-18 山东鲁能软件技术有限公司 一种可视化开发环境的配置方法、装置、终端及存储介质
CN109408175A (zh) * 2018-09-28 2019-03-01 北京赛博贝斯数据科技有限责任公司 通用高性能深度学习计算引擎中的实时交互方法及系统
CN110083351A (zh) * 2019-04-22 2019-08-02 北京百度网讯科技有限公司 用于生成代码的方法和装置
CN110221838A (zh) * 2019-05-28 2019-09-10 中国科学院高能物理研究所 一种基于遗传算法和有向无环图进行程序自动设计优化的方法
CN110457378A (zh) * 2018-05-08 2019-11-15 华为技术有限公司 一种数据处理的方法和设备
CN111125451A (zh) * 2019-12-25 2020-05-08 北京百度网讯科技有限公司 数据生产加工方法、装置、电子设备及存储介质
CN112015398A (zh) * 2019-05-31 2020-12-01 杭州海康威视数字技术股份有限公司 数据融合方法及装置
CN112540753A (zh) * 2020-12-23 2021-03-23 航天科工智慧产业发展有限公司 一种案件特征解析方法
CN112799646A (zh) * 2021-02-09 2021-05-14 北京字节跳动网络技术有限公司 任务运行方法及设备
CN112836477A (zh) * 2021-01-15 2021-05-25 亿企赢网络科技有限公司 代码注释文档的生成方法、装置、电子设备及存储介质
CN113434220A (zh) * 2021-07-15 2021-09-24 上海商汤科技开发有限公司 工作流程的构建方法及装置、设备、计算机存储介质
US11151151B2 (en) 2018-12-06 2021-10-19 International Business Machines Corporation Integration template generation
CN113760394A (zh) * 2020-06-03 2021-12-07 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及存储介质
CN114880385A (zh) * 2021-07-27 2022-08-09 云南省地质环境监测院(云南省环境地质研究院) 一种通过自动组合流程接入地质灾害数据的方法及装置
CN116737803A (zh) * 2023-08-10 2023-09-12 天津神舟通用数据技术有限公司 一种基于有向无环图的可视化数据挖掘编排方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364176A (zh) * 2008-08-12 2009-02-11 北京航空航天大学 基于gmf的bpel可视化建模系统
CN101398769A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种对操作系统透明的处理器资源整合利用方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364176A (zh) * 2008-08-12 2009-02-11 北京航空航天大学 基于gmf的bpel可视化建模系统
CN101398769A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种对操作系统透明的处理器资源整合利用方法

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999323A (zh) * 2011-09-16 2013-03-27 北京百度网讯科技有限公司 一种生成目标代码的方法、数据处理的方法及装置
CN102999323B (zh) * 2011-09-16 2016-04-27 北京百度网讯科技有限公司 一种生成目标代码的方法、数据处理的方法及装置
CN103166785A (zh) * 2011-12-15 2013-06-19 同程网络科技股份有限公司 基于Hadoop的分布式日志分析系统
CN103176896A (zh) * 2011-12-23 2013-06-26 阿里巴巴集团控股有限公司 一种测试用例的生成方法及装置
CN103176896B (zh) * 2011-12-23 2015-08-26 阿里巴巴集团控股有限公司 一种测试用例的生成方法及装置
WO2013138982A1 (zh) * 2012-03-19 2013-09-26 华为技术有限公司 一种并行处理方法和装置
CN103502941A (zh) * 2012-03-19 2014-01-08 华为技术有限公司 一种并行处理方法和装置
CN103502941B (zh) * 2012-03-19 2017-11-17 华为技术有限公司 一种并行处理方法和装置
CN103150161B (zh) * 2013-02-06 2016-04-13 中金数据系统有限公司 基于MapReduce计算模型的任务封装方法及装置
CN103150161A (zh) * 2013-02-06 2013-06-12 中金数据系统有限公司 基于MapReduce 计算模型的任务封装方法及装置
CN105229597B (zh) * 2013-05-22 2018-09-25 国际商业机器公司 分布式特征收集与关联引擎的方法与系统
CN105229597A (zh) * 2013-05-22 2016-01-06 国际商业机器公司 分布式特征收集与关联引擎
CN104951286A (zh) * 2014-03-25 2015-09-30 阿里巴巴集团控股有限公司 一种将MapReduce转换为SQL的方法和装置
CN104951286B (zh) * 2014-03-25 2018-07-06 阿里巴巴集团控股有限公司 一种将MapReduce转换为SQL的方法和装置
CN104484226B (zh) * 2014-12-08 2018-02-02 无锡城市云计算中心有限公司 MapReduce作业处理系统、服务器及处理方法
CN104484226A (zh) * 2014-12-08 2015-04-01 无锡城市云计算中心有限公司 MapReduce作业处理系统、服务器及处理方法
CN104573063A (zh) * 2015-01-23 2015-04-29 四川中科腾信科技有限公司 一种基于大数据的数据分析方法
CN104679511A (zh) * 2015-02-10 2015-06-03 北京系统工程研究所 基于MDE模型转换的MapReduce代码生成方法
CN106569883A (zh) * 2015-10-10 2017-04-19 阿里巴巴集团控股有限公司 一种分布式任务处理方法及设备
CN105303456A (zh) * 2015-10-16 2016-02-03 国家电网公司 电力传输设备监控数据处理方法
CN106603474A (zh) * 2015-10-19 2017-04-26 上海宝信软件股份有限公司 基于自主算法的可视化信息安全业务的构建方法及系统
CN106708854B (zh) * 2015-11-13 2020-05-22 博雅网络游戏开发(深圳)有限公司 数据导出方法和装置
CN106708854A (zh) * 2015-11-13 2017-05-24 博雅网络游戏开发(深圳)有限公司 数据导出方法和装置
CN106708897A (zh) * 2015-11-17 2017-05-24 阿里巴巴集团控股有限公司 一种数据仓库质量保障方法、装置和系统
CN106708897B (zh) * 2015-11-17 2020-03-27 阿里巴巴集团控股有限公司 一种数据仓库质量保障方法、装置和系统
CN105719078A (zh) * 2016-01-20 2016-06-29 广东电网有限责任公司电力调度控制中心 一种基于业务流程对接及状态监控的全息式流程管理方法
CN107122359B (zh) * 2016-02-24 2020-08-21 中移物联网有限公司 数据实时跟踪可视化处理方法及装置
CN107122359A (zh) * 2016-02-24 2017-09-01 中移物联网有限公司 数据实时跟踪可视化处理方法及装置
TWI798170B (zh) * 2016-03-25 2023-04-11 香港商阿里巴巴集團服務有限公司 資料分析方法及裝置
CN107229815A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据分析方法及装置
CN105912588A (zh) * 2016-03-31 2016-08-31 中国农业银行股份有限公司 一种基于内存计算的大数据可视化处理方法及系统
CN106102027B (zh) * 2016-06-12 2019-03-15 西南医科大学 基于MapReduce的短信批量提交方法
CN106102027A (zh) * 2016-06-12 2016-11-09 西南医科大学 基于MapReduce的短信批量提交方法
CN106202006A (zh) * 2016-06-27 2016-12-07 北京百度网讯科技有限公司 文件生成方法和装置
CN106202006B (zh) * 2016-06-27 2019-01-01 北京百度网讯科技有限公司 文件生成方法和装置
CN106959990A (zh) * 2016-08-30 2017-07-18 智器云南京信息科技有限公司 基于分析模型的情报可视化分析方法、装置及终端
CN107886286A (zh) * 2016-09-29 2018-04-06 中国石油化工股份有限公司 地震数据处理作业流方法及系统
CN107066248A (zh) * 2016-12-29 2017-08-18 北京五八信息技术有限公司 处理模型确定方法及装置
CN106815019B (zh) * 2016-12-30 2020-09-01 国家计算机网络与信息安全管理中心 Hadoop分布式算法的WEB界面集成方法及装置
CN106815019A (zh) * 2016-12-30 2017-06-09 国家计算机网络与信息安全管理中心 Hadoop分布式算法的WEB界面集成方法及装置
CN107133052A (zh) * 2017-05-27 2017-09-05 杭州迪脉信息科技有限公司 流程创建的方法及装置
CN107291954B (zh) * 2017-07-28 2020-07-31 南京邮电大学 一种基于MapReduce的OCL并行查询方法
CN107291954A (zh) * 2017-07-28 2017-10-24 南京邮电大学 一种基于MapReduce的OCL并行查询方法
CN108062407A (zh) * 2017-12-28 2018-05-22 成都飞机工业(集团)有限责任公司 一种项目可视化管控数据抽取方法
CN108153897A (zh) * 2018-01-10 2018-06-12 中国银行股份有限公司 一种plsql程序代码生成方法及系统
CN110457378A (zh) * 2018-05-08 2019-11-15 华为技术有限公司 一种数据处理的方法和设备
CN108984155A (zh) * 2018-05-17 2018-12-11 阿里巴巴集团控股有限公司 数据处理流程设定方法和装置
CN108984155B (zh) * 2018-05-17 2021-09-07 创新先进技术有限公司 数据处理流程设定方法和装置
CN109032590B (zh) * 2018-09-26 2021-11-16 山东鲁能软件技术有限公司 一种可视化开发环境的配置方法、装置、终端及存储介质
CN109032590A (zh) * 2018-09-26 2018-12-18 山东鲁能软件技术有限公司 一种可视化开发环境的配置方法、装置、终端及存储介质
CN109408175B (zh) * 2018-09-28 2021-07-27 北京赛博贝斯数据科技有限责任公司 通用高性能深度学习计算引擎中的实时交互方法及系统
CN109408175A (zh) * 2018-09-28 2019-03-01 北京赛博贝斯数据科技有限责任公司 通用高性能深度学习计算引擎中的实时交互方法及系统
US11151151B2 (en) 2018-12-06 2021-10-19 International Business Machines Corporation Integration template generation
CN110083351A (zh) * 2019-04-22 2019-08-02 北京百度网讯科技有限公司 用于生成代码的方法和装置
CN110221838B (zh) * 2019-05-28 2020-10-27 中国科学院高能物理研究所 一种基于遗传算法和有向无环图进行程序自动设计优化的方法
CN110221838A (zh) * 2019-05-28 2019-09-10 中国科学院高能物理研究所 一种基于遗传算法和有向无环图进行程序自动设计优化的方法
CN112015398A (zh) * 2019-05-31 2020-12-01 杭州海康威视数字技术股份有限公司 数据融合方法及装置
CN111125451B (zh) * 2019-12-25 2023-07-21 北京百度网讯科技有限公司 数据生产加工方法、装置、电子设备及存储介质
CN111125451A (zh) * 2019-12-25 2020-05-08 北京百度网讯科技有限公司 数据生产加工方法、装置、电子设备及存储介质
CN113760394A (zh) * 2020-06-03 2021-12-07 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及存储介质
CN112540753A (zh) * 2020-12-23 2021-03-23 航天科工智慧产业发展有限公司 一种案件特征解析方法
CN112836477A (zh) * 2021-01-15 2021-05-25 亿企赢网络科技有限公司 代码注释文档的生成方法、装置、电子设备及存储介质
CN112836477B (zh) * 2021-01-15 2024-02-09 亿企赢网络科技有限公司 代码注释文档的生成方法、装置、电子设备及存储介质
CN112799646A (zh) * 2021-02-09 2021-05-14 北京字节跳动网络技术有限公司 任务运行方法及设备
CN113434220A (zh) * 2021-07-15 2021-09-24 上海商汤科技开发有限公司 工作流程的构建方法及装置、设备、计算机存储介质
CN114880385A (zh) * 2021-07-27 2022-08-09 云南省地质环境监测院(云南省环境地质研究院) 一种通过自动组合流程接入地质灾害数据的方法及装置
CN114880385B (zh) * 2021-07-27 2022-11-22 云南省地质环境监测院(云南省环境地质研究院) 一种通过自动组合流程接入地质灾害数据的方法及装置
CN116737803A (zh) * 2023-08-10 2023-09-12 天津神舟通用数据技术有限公司 一种基于有向无环图的可视化数据挖掘编排方法
CN116737803B (zh) * 2023-08-10 2023-11-17 天津神舟通用数据技术有限公司 一种基于有向无环图的可视化数据挖掘编排方法

Also Published As

Publication number Publication date
CN102033748B (zh) 2013-11-06

Similar Documents

Publication Publication Date Title
CN102033748B (zh) 一种数据处理流程代码的生成方法
CN107491561B (zh) 一种基于本体的城市交通异构数据集成系统及方法
CN105989150B (zh) 一种基于大数据环境的数据查询方法及装置
Borkar et al. Inside" Big Data management" ogres, onions, or parfaits?
Karnitis et al. Migration of relational database to document-oriented database: Structure denormalization and data transformation
Calvanese et al. The MASTRO system for ontology-based data access
Giese et al. Scalable end-user access to big data
El-Sappagh et al. A proposed model for data warehouse ETL processes
Kogalovsky Ontology-based data access systems
JP6144700B2 (ja) 半構造データのためのスケーラブルな分析プラットフォーム
CN102982075B (zh) 支持访问异构数据源的系统和方法
US20100175049A1 (en) Scope: a structured computations optimized for parallel execution script language
CN107491476B (zh) 一种适用于多种大数据管理系统的数据模型转换及查询分析方法
CN117093599A (zh) 面向异构数据源的统一sql查询方法
Abdel Azez et al. Optimizing join in HIVE star schema using key/facts indexing
AGGOUNE et al. A method for transforming object-relational to document-oriented databases
WO2009044398A2 (en) A method and computer program for evaluating database queries involving relational and hierarchical data
CN116628066B (zh) 数据传输方法、装置、计算机设备和存储介质
KR101955376B1 (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
CN116795859A (zh) 数据分析方法、装置、计算机设备和存储介质
US9959295B1 (en) S-expression based computation of lineage and change impact analysis
Raj et al. Implementation of ETL process using Pig and Hadoop
CN113946568A (zh) 一种数据治理系统以及方法
Li et al. Kddlog: Performance and scalability in knowledge discovery by declarative queries with aggregates
CN114418101B (zh) 一种贝叶斯网络推理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200709

Address after: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Patentee after: WUHAN DAMENG DATABASE Co.,Ltd.

Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun

Patentee before: Institute of Software, Chinese Academy of Sciences

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee after: Wuhan dream database Co., Ltd

Address before: 430073 16-19 / F, building C3, future science and technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: WUHAN DAMENG DATABASE Co.,Ltd.

CP01 Change in the name or title of a patent holder