通过示例来学习ETL规则制造技术

技术编号:25764530 阅读:55 留言:0更新日期:2020-09-25 21:11
实施例提供了用于通过示例来学习提取、变换和加载映射的系统和方法。可以从源架构和目标架构中提取多个特征。可以将示例ETL映射提供给机器学习算法,该示例ETL映射包括用于从源表提取数据并将提取出的数据加载到目标表中的定义。使用机器学习算法并基于源架构、目标架构和提取出的特征,可以预测一个或多个ETL规则,这些规则定义用于从源架构提取数据并将提取出的数据加载到目标架构中的逻辑。可以基于预测的ETL规则生成附加ETL映射,该附加ETL映射提供用于从源架构提取数据并将提取出的数据加载到目标架构中的附加定义。

【技术实现步骤摘要】
【国外来华专利技术】通过示例来学习ETL规则相关申请的交叉引用本申请要求于2018年4月16日提交的美国专利申请No.15/953,873的优先权,其公开内容通过引用并入本文。
本公开的实施例一般而言涉及通过示例来学习提取(extract)、变换(transform)和加载映射(loadmapping)。
技术介绍
计算设备和连接设备的激增产生了大量需要管理的数据。通常由人类(诸如数据科学家)执行的数据管理的一个方面是提取、变换和加载(“ETL”)或提取、加载和变换(“ELT”),两者将在整个本公开中可互换地使用。一般而言,ETL是将数据从源架构(sourceschema)移动到目标架构(targetschema)的较大数据迁移处理的一个步骤。这种迁移处理通常具有多个层,诸如表/列映射、提取和加载规则/映射(例如,联接条件(joincondition)、工作单元(unitofwork)确定等)、迁移后和/或迁移前变换,这只是仅举的几例。因此,虽然数据管理的其它方面已变得敏捷和高效,但在利用现代常规技术时ETL可能是繁琐的处理。
技术实现思路
本公开的实施例一般而言涉及通过示例来学习来提取、变换和加载映射的系统和方法,该系统和方法对相关技术进行了实质性的改进。在一些实施例中,可以从源架构和目标架构中提取多个特征,这些特征至少包括源架构和目标架构的多个表的列。示例ETL映射可以被提供给机器学习算法,其中示例ETL映射包括用于从源架构的一个或多个表中提取数据并将提取出的数据加载到目标架构的一个或多个表中的定义(definition)。使用机器学习算法并基于源架构、目标架构和提取出的特征,可以预测一个或多个ETL规则,这些规则定义用于从源架构提取数据并将提取出的数据加载到目标架构中的逻辑。可以基于预测的ETL规则、源架构、目标架构和提取出的特征生成附加ETL映射,这些附加ETL映射提供了用于从源架构的一个或多个表中提取数据并将提取出的数据加载到目标架构的一个或多个表中的附加定义。实施例的特征和优点在下面的描述中阐述,或者将从描述中变得清楚,或者可以通过实施本公开而获知。附图说明通过以下结合附图对优选实施例的详细描述,其它实施例、细节、优点和修改将变得清楚。图1图示了根据示例实施例的用于通过示例来学习提取、变换和加载映射的系统。图2图示了根据示例实施例的可操作地耦合到ETL学习系统的计算设备的框图。图3图示了根据示例实施例的样本星型数据架构。图4图示了根据示例实施例的样本ETL规范。图5图示了根据示例实施例的由ETL工具实现的样本ETL结构。图6图示了根据示例实施例的样本架构映射结构。图7图示了根据示例实施例的样本ETL映射表达式。图8图示了根据示例实施例的样本属性向量。图9图示了根据示例实施例的用于根据示例实施例通过示例来学习提取、变换和加载映射的示例方法。具体实施方式实施例通过示例来学习提取、变换和加载映射。源架构与目标架构之间的关系通常可能很复杂,因此使得用于ETL的机器学习应用变得不简单。实施例利用针对向机器学习算法提供粒度级别的数据点的源数据架构和目标数据架构的特征提取,其使得能够改善学习。此外,源数据架构和目标数据架构之间的示例映射被提供给根据ETL框架定义的机器学习算法。作为结果,机器学习算法可以基于示例中目标架构和源架构之间所示的关系来外推趋势。这些外推的趋势可以在有利于机器预测的详细级别进行定义,因为它们是在特定于架构的粒度级别定义的。随后,机器学习算法可以预测新的ETL规则,这些规则可以用于完成数据从源到目标的迁移。然后可以利用规则解释器基于预测的新ETL规则生成ETL映射。现在将详细参考本公开的实施例,其示例在附图中示出。在以下详细描述中,阐述了许多具体细节以便提供对本公开的透彻理解。但是,对于本领域的普通技术人员将清楚的是,可以在没有这些具体细节的情况下实践本公开。在其它情况下,没有详细描述众所周知的方法、过程、部件和电路,以免不必要地使实施例的各方面模糊。只要有可能,相同的参考数字将用于相同的元素。图1图示了根据实施例的用于通过示例来学习提取、变换和加载映射的系统。系统100包括源架构102、目标架构104、特征提取106、示例ETL映射108、机器学习部件110、输出ETL规则112、规则解释器114以及输出ETL映射116。源架构102和目标架构104可以是用于存储数据的任何数据架构,诸如关系数据表、平面文件(flatfiles)、NoSQL数据库、消息队列或主题、事件流或它们的组合。例如,源架构102和/或目标架构104可以包括根据规则或标准集合而配置的关系表集合,诸如第三范式(“3NF”)架构。一般而言,每个架构将包括具有一列或多列数据的数据表。架构不仅由表及其存储的数据定义,还由表之间的关系定义。例如,可以通过链接存储在第一表和第二表中的每个表中的数据的外键(foreignkey)来定义第一表和第二表之间的关系。在一些实施例中,两个表可以共享多个关系(例如,可以具有定义表之间的关系的多个外键)。表之间的不同类型的关系将在本文中进一步公开。数据架构的设计通常可以基于设计者而变化。例如,具有给定关系集合的给定数据集可以成功地由具有不同设计的多个数据架构表示。一些设计可能需要表联接(tablejoin)来检索特定的数据集,而其它设计则不需要。此外,许多遗留系统实现不容易被当前已知数据库实现的架构设计。在考虑如何从源架构中提取数据并将数据加载到目标架构时,精细粒度细节(诸如表、列和键的命名约定等)在规则/映射构建中起着重要的作用。由于架构设计的高度主观性,将源架构102中存储的数据提取、加载和/或变换到目标架构104的规则/映射可能是特定于这些架构的。在实施例中,为了将机器学习部件110配置为生成准确的规则预测,对源架构102和目标架构104执行特征提取106。例如,特征提取106可以用于向机器学习部件110提供使得能够进行ETL规则/映射生成的精细粒度细节。进而,学习部件110可以以这种精细粒度进行分析,以预测源架构102和目标架构104的特定于架构的规则/映射。为每个架构提取出的特征可以包括表名称、列名称、表类型、表之间的外键、自引用表(self-referential)以及许多其它特征。这些提取出的特征可以表达架构中的通用、常用结构或模式、可以增强架构信息,并且可以简化机器学习部件110的工作。实施例还将由特征提取106提取出的特征提供给规则解释器114。例如,规则解释器114可以利用提取出的特征来解释预测的规则以生成输出ETL映射116。可供特征提取106提取的特征将在本文中进一步公开。实施例向机器学习部件110提供示例ETL映射108,以用于从源架构102提取数据并将数据加载到目标架构104中。示例映射108可以是源架构102和目标架构104的数据(例如,表)之间的特定映射。由于ETL本文档来自技高网...

【技术保护点】
1.一种通过示例来学习提取、变换和加载(“ETL”)映射的方法,所述方法包括:/n从源架构和目标架构中提取多个特征,所述特征至少包括所述源架构和所述目标架构的多个表的列;/n向机器学习算法提供示例ETL映射,其中所述示例ETL映射包括用于从所述源架构的一个或多个表提取数据并将提取出的数据加载到所述目标架构的一个或多个表中的定义;/n使用所述机器学习算法并基于所述源架构、目标架构和提取出的特征,预测一个或多个ETL规则,所述一个或多个ETL规则定义用于从所述源架构提取数据并将提取出的数据加载到所述目标架构中的逻辑;以及/n基于预测的ETL规则、所述源架构、所述目标架构和提取出的特征生成附加ETL映射,所述附加ETL映射提供用于从所述源架构的一个或多个表提取数据并将提取出的数据加载到所述目标架构的一个或多个表中的附加定义。/n

【技术特征摘要】
【国外来华专利技术】20180416 US 15/953,8731.一种通过示例来学习提取、变换和加载(“ETL”)映射的方法,所述方法包括:
从源架构和目标架构中提取多个特征,所述特征至少包括所述源架构和所述目标架构的多个表的列;
向机器学习算法提供示例ETL映射,其中所述示例ETL映射包括用于从所述源架构的一个或多个表提取数据并将提取出的数据加载到所述目标架构的一个或多个表中的定义;
使用所述机器学习算法并基于所述源架构、目标架构和提取出的特征,预测一个或多个ETL规则,所述一个或多个ETL规则定义用于从所述源架构提取数据并将提取出的数据加载到所述目标架构中的逻辑;以及
基于预测的ETL规则、所述源架构、所述目标架构和提取出的特征生成附加ETL映射,所述附加ETL映射提供用于从所述源架构的一个或多个表提取数据并将提取出的数据加载到所述目标架构的一个或多个表中的附加定义。


2.如权利要求1所述的方法,其中,所述示例ETL映射和附加ETL映射包括定义源表的一个或多个源列与目标表的目标列之间的关系的映射表达式。


3.如权利要求1所述的方法,其中,所述示例ETL映射包括实现列名后缀或列名前缀中的至少一者的映射表达式。


4.如权利要求1所述的方法,其中,所述示例ETL映射包括映射表达式,所述映射表达式实现所述映射表达式的应用于源列的一个或多个函数。


5.如权利要求4所述的方法,其中
所述示例ETL映射包括实现第一类型的函数的映射表达式,所述第一类型的函数应用于所述源架构的列以加载所述目标架构的第一列,以及
所述附加ETL映射包括实现所述第一类型的函数的映射表达式,所述第一类型的函数应用于所述源架构的所述列以加载所述目标架构的第二列。


6.如权利要求1所述的方法,其中,所述预测的ETL规则定义由所述示例ETL映射表示的逻辑。


7.如权利要求6所述的方法,其中,
所述示例ETL映射表示所述源架构与所述目标架构的第一列集合之间的关系,并且
所述预测的ETL规则定义所述源架构与所述目标架构的第二列集合之间的关系的逻辑,并且所述第二列集合与所述第一列集合不同。


8.如权利要求7所述的方法,其中,所述附加ETL映射包括基于所述预测的ETL规则的用于所述目标架构的所述第二列集合的映射表达式。


9.如权利要求1所述的方法,其中,所述多个特征包括用于所述源架构和所述目标架构的表的外键。


10.如权利要求1所述的方法,其中,所述多个特征包括用于所述源架构的列的元数据,所述元数据指示所述源架构的列之间的关系。


11.一种其上存储有指令的非暂态计算机可读介质,所述指令在由处理器执行时使所述处理器通过示例来学习提取、变换和加载(“ETL”)映射,所述学习包括:
从源架构和目标架构中提取多个特征,所述特征至少包括所述源架构和所述目标架构的多个表的列;
向机器学习算法提供示例ETL映射,其中所述示例ETL映射包括用于从所述源架构的一个或多个表提取数据并将提取出的数据加载到所述目标架构的一个或多个表中的定义;
使用所述机器学习算法并基于所述源架构、目标架构和提取出...

【专利技术属性】
技术研发人员:M·莎森
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利