CN108121719A - 一种实现数据抽取转换加载etl的方法及装置 - Google Patents

一种实现数据抽取转换加载etl的方法及装置 Download PDF

Info

Publication number
CN108121719A
CN108121719A CN201611071753.7A CN201611071753A CN108121719A CN 108121719 A CN108121719 A CN 108121719A CN 201611071753 A CN201611071753 A CN 201611071753A CN 108121719 A CN108121719 A CN 108121719A
Authority
CN
China
Prior art keywords
data
user
data file
file
etl
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
CN201611071753.7A
Other languages
English (en)
Other versions
CN108121719B (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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201611071753.7A priority Critical patent/CN108121719B/zh
Publication of CN108121719A publication Critical patent/CN108121719A/zh
Application granted granted Critical
Publication of CN108121719B publication Critical patent/CN108121719B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现数据抽取转换加载ETL的方法,用于重新执行数据抽取转换加载ETL操作,该方法包括:获得用户配置文件的指定标识,根据指定标识确定指定的用户配置文件;利用指定的用户配置文件重新执行ETL操作,生成第二数据文件;将第二数据文件与第一数据文件进行合并,生成第三数据文件,第一数据文件是利用全部用户配置文件执行ETL操作后生成的;在第一数据文件的保存路径下将原有的第一数据文件删除,将第三数据文件作为更新后的第一数据文件保存。本发明还公开了一种实现ETL的装置。

Description

一种实现数据抽取转换加载ETL的方法及装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种实现ETL(Extract-Transform-Load,数据抽取转换加载)的方法及装置。
背景技术
在网站分析中,通常需要从网站上收集日志,并将收集到的日志转换为可以用SQL(Structured Query Language,结构化查询语言)查询的数据文件加载到数据仓库中,以使用户可以方便且灵活地分析在网站上进行浏览的网民的行为。目前可以利用执行ETL的方式将日志进行转换并加载到数据仓库中。ETL常用来描述将数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程,是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
在现有技术中,每个网站上收集到的日志可以分别保存为一个用户配置文件,而执行一次ETL需要将全部用户配置文件的数据执行完毕。但是有时执行完ETL后会发现某个用户配置文件的数据存在质量问题,而重新执行ETL需要再次将全部用户配置文件的数据执行一次,会浪费大量时间。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种实现ETL的方法及装置,本发明提供的技术方案如下:
一种实现数据抽取转换加载ETL的方法,所述方法包括:
获得用户配置文件的指定标识,根据所述指定标识确定指定的用户配置文件;
利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件;
将所述第二数据文件与第一数据文件进行合并,生成第三数据文件,其中所述第一数据文件是利用全部用户配置文件执行数据抽取转换加载ETL操作后生成的;
在所述第一数据文件的保存路径下将原有的第一数据文件删除,将所述第三数据文件作为更新后的第一数据文件保存。
相应的,所述方法还包括:
获得原始用户行为数据表;
在利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作的过程中将所述原始用户行为数据表更新为第二用户行为数据表;
在第一用户行为数据表中查找所述指定标识对应的第一数据部分,在所述第二用户行为数据表中查找所述指定标识对应的第二数据部分,在所述第一用户行为数据表中将所述第一数据部分替换为所述第二数据部分,其中所述第一用户行为数据表是利用全部用户配置文件执行数据抽取转换加载ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
相应的,所述方法还包括:
获得指定时间段;
所述利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件,包括:
确定处于所述指定时间段内的所述指定的用户配置文件;利用所述指定时间段内的所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件。
相应的,所述方法还包括:
获得原始用户行为数据表以及在所述指定时间段之前一次的所述原始用户行为数据表的快照表;
在利用所述指定时间段以及所述指定的用户配置文件重新执行数据抽取转换加载ETL操作的过程中将所述原始用户行为数据表的快照表更新为第二用户行为数据表;
在第一用户行为数据表中查找所述指定标识对应的第一数据部分,在所述第二用户行为数据表中查找所述指定标识对应的第二数据部分,在所述第一用户行为数据表中将所述第一数据部分替换为所述第二数据部分,其中所述第一用户行为数据表是利用全部用户配置文件执行数据抽取转换加载ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
相应的,所述将所述第二数据文件与所述第一数据文件进行合并,生成第三数据文件,包括:
在所述第一数据文件中查找所述指定标识对应的数据部分,在所述第一数据文件中将所述指定标识对应的数据部分替换为所述第二数据文件内的数据,生成第三数据文件。
一种实现数据抽取转换加载ETL的装置,所述装置包括:
确定单元,用于获得用户配置文件的指定标识,根据所述指定标识确定指定的用户配置文件;
执行单元,用于利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件;
合并单元,用于将所述第二数据文件与第一数据文件进行合并,生成第三数据文件,其中所述第一数据文件是利用全部用户配置文件执行数据抽取转换加载ETL操作后生成的;
第一替换单元,用于在所述第一数据文件的保存路径下将原有的第一数据文件删除,将所述第三数据文件作为更新后的第一数据文件保存。
相应的,所述装置还包括:
第一获得单元,用于获得原始用户行为数据表;
第一更新单元,用于在所述执行单元利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作的过程中将所述原始用户行为数据表更新为第二用户行为数据表;
第二替换单元,用于在第一用户行为数据表中查找所述指定标识对应的第一数据部分,在所述第二用户行为数据表中查找所述指定标识对应的第二数据部分,在所述第一用户行为数据表中将所述第一数据部分替换为所述第二数据部分,其中所述第一用户行为数据表是利用全部用户配置文件执行数据抽取转换加载ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
相应的,所述装置还包括:
第二获得单元,用于获得指定时间段;
所述执行单元包括:
确定子单元,用于确定处于所述指定时间段内的所述指定的用户配置文件;
执行子单元,用于利用所述指定时间段内的所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件。
相应的,所述装置还包括:
第三获得单元,用于获得原始用户行为数据表以及在所述指定时间段之前一次的所述原始用户行为数据表的快照表;
第二更新单元,用于在所述执行子单元利用所述指定时间段内的所述指定的用户配置文件重新执行数据抽取转换加载ETL操作的过程中将所述原始用户行为数据表的快照表更新为第二用户行为数据表;
第三替换单元,用于在第一用户行为数据表中查找所述指定标识对应的第一数据部分,在所述第二用户行为数据表中查找所述指定标识对应的第二数据部分,在所述第一用户行为数据表中将所述第一数据部分替换为所述第二数据部分,其中所述第一用户行为数据表是利用全部用户配置文件执行数据抽取转换加载ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
相应的,所述合并单元具体用于:
在所述第一数据文件中查找所述指定标识对应的数据部分,在所述第一数据文件中将所述指定标识对应的数据部分替换为所述第二数据文件内的数据,生成第三数据文件。
借由上述技术方案,本发明提供的一种实现ETL的方法及装置,在需要时通过对指定的用户配置文件重新执行ETL操作生成第二数据文件,并将重新执行后的第二数据文件与已经存在的利用全部用户配置文件执行ETL操作后生成的第一数据文件做合并,将重新执行后的数据替换掉第一数据文件中相应部分的数据生成第三数据文件,再将第三数据文件作为更新后的第一数据文件替换掉原有的第一数据文件,通过仅对部分数据存在质量问题的用户配置文件重新执行ETL操作,这样在仅需要变更部分用户配置文件时无需再对全部用户配置文件执行ETL操作,节省了大量时间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例中提供的实现ETL的方法实施例一的流程图;
图2示出了本发明实施例中提供的实现ETL的方法实施例二的流程图;
图3示出了本发明实施例中提供的实现ETL的方法实施例三的流程图;
图4示出了本发明实施例中提供的实现ETL的方法实施例四的流程图;
图5示出了本发明实施例中提供的实现ETL的装置实施例一的示意图;
图6示出了本发明实施例中提供的实现ETL的装置实施例二的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在现有技术中,每个网站上收集到的日志可以分别保存为一个用户配置文件(即profile),而执行一次ETL操作(即执行一次数据抽取转换加载操作)需要将全部用户配置文件的数据执行完毕。但是有时执行完ETL操作后会发现某个用户配置文件的数据或者某个用户配置文件的某个时间段的数据存在质量问题,而重新执行ETL操作需要再次将全部用户配置文件的数据执行一次,会浪费大量时间。这时就需要可以重新对指定用户配置文件或者指定用户配置文件的指定时间段重新执行ETL操作,为此提出了本发明实施例中提供的实现ETL的方法及装置。
另外在对网站上用户相关指标(例如第几次访问网站、第几次购买产品)进行分析时,使用了hbase(一种分布式的、面向列的开源数据库)中的一张用户行为数据表来存储这些用户相关指标,每次执行ETL操作时会更新这张用户行为数据表,而且在执行完ETL操作之后会对这张表进行记录快照的操作,因此在重新执行ETL操作的过程中还需要特别考虑到对用户行为数据表的处理。
基于上述思想,参见图1所示,示出了本发明实施例中提供的实现ETL的方法实施例一,可以包括以下步骤:
步骤101:获得用户配置文件的指定标识,根据指定标识确定指定的用户配置文件。
实际应用中每个网站收集到的日志可以保存为一个用户配置文件,针对全部用户配置文件可以使用spark etl来执行ETL操作,生成第一数据文件,第一数据文件可以保存在第一文件路径下。若用户认为某个或某些用户配置文件执行ETL操作后的数据有质量问题,此时就需要对某个或某些用户配置文件重新执行ETL操作,先获取这些用户配置文件的标识,该标识即为用户配置文件的指定标识,在获取到指定标识后即可以确定哪些用户配置文件是需要重新执行ETL操作的指定的用户配置文件。
步骤102:利用指定的用户配置文件重新执行ETL操作,生成第二数据文件。
在实际应用中还可以使用spark etl利用所指定的用户配置文件重新执行一次ETL操作,此时生成的是第二数据文件,第二数据文件可以保存在另外的第二文件路径下。
步骤103:将第二数据文件与第一数据文件进行合并,生成第三数据文件。根据上述说明,其中第一数据文件是利用全部用户配置文件执行ETL操作后生成的。将重新执行之后的第二数据文件与已经存在的第一数据文件做合并,合并之后生成第三数据文件,第三数据文件可以先保存在第三文件路径下。
在本发明的一些可能的实现方式中,本步骤的具体实现可以包括在第一数据文件中查找指定标识对应的数据部分,在第一数据文件中将指定标识对应的数据部分替换为第二数据文件内的数据,生成第三数据文件。
即在第一数据文件中将指定标识对应的数据部分替换为重新执行之后的第二数据文件内的数据,在第三数据文件中包括了指定的用户配置文件重新执行ETL操作之后的数据以及已经存在数据文件中其他用户配置文件执行ETL操作之后的数据。
步骤104:在第一数据文件的保存路径下将原有的第一数据文件删除,将第三数据文件作为更新后的第一数据文件保存。
最后在第一文件路径下将第三数据文件替换掉第一数据文件,此时第三数据文件作为更新后的第一数据文件,在再次重新执行ETL操作时,可以返回步骤101。
这样,在需要时通过对指定的用户配置文件重新执行ETL操作生成第二数据文件,并将重新执行后的第二数据文件与已经存在的利用全部用户配置文件执行ETL操作后生成的第一数据文件做合并,将重新执行后的数据替换掉第一数据文件中相应部分的数据生成第三数据文件,再将第三数据文件作为更新后的第一数据文件替换掉原有的第一数据文件,通过仅对部分数据存在质量问题的用户配置文件重新执行ETL操作,这样在仅需要变更部分用户配置文件时无需再对全部用户配置文件执行ETL,节省了大量时间。
在上述实现ETL的方法实施例一的基础上,在重新执行ETL操作的过程中需要考虑对用户行为数据表的处理。参见图2所示,示出了本发明实施例中提供的实现ETL的方法实施例二,可以包括以下步骤:
步骤201:获得原始用户行为数据表。
步骤202:利用全部用户配置文件执行ETL操作,生成第一数据文件。
步骤203:在利用全部用户配置文件执行ETL操作的过程中将原始用户行为数据表更新为第一用户行为数据表。即第一用户行为数据表是利用全部用户配置文件执行ETL操作的过程中对所述原始用户行为数据表进行更新获取的。目前spark etl在计算用户行为相关指标的过程中使用了hbase的一张用户行为数据表,在未进行ETL操作时可以获得原始用户行为数据表,执行ETL操作的过程中会更新这张表生成第一用户行为数据表。
此处需要说明的是,步骤202和步骤203在执行本发明实施例中提供的实现ETL的方法之前已经完成,即第一数据文件在利用全部用户配置文件执行ETL操作后就已经生成了,而在利用全部用户配置文件执行ETL操作的过程中就已经将原始用户行为数据表更新为第一用户行为数据表了。
步骤204:获得用户配置文件的指定标识,根据指定标识确定指定的用户配置文件。
步骤205:利用指定的用户配置文件重新执行ETL操作,生成第二数据文件。
步骤206:在利用指定的用户配置文件重新执行ETL操作的过程中将原始用户行为数据表更新为第二用户行为数据表。
类似的,在重新执行ETL操作的过程中也会对原始用户行为数据表进行更新生成第二用户行为数据表。
步骤207:将第二数据文件与第一数据文件进行合并,生成第三数据文件。
在第一数据文件中查找指定标识对应的数据部分,在第一数据文件中将指定标识对应的数据部分替换为第二数据文件内的数据,生成第三数据文件。
步骤208:在第一数据文件的保存路径下将原有的第一数据文件删除,将第三数据文件作为更新后的第一数据文件保存。
在本实施例中,重新执行ETL操作的相关步骤可以参见上述实施例一的说明,在此不再赘述。
步骤209:在第一用户行为数据表中查找指定标识对应的第一数据部分,在第二用户行为数据表中查找指定标识对应的第二数据部分,在第一用户行为数据表中将第一数据部分替换为第二数据部分。
在第一用户行为数据表指定标识对应的数据与在第二用户行为数据表指定标识对应的数据可能存在差异,这时需要将这些差异从第二用户行为数据表中同步到第一用户行为数据表中,更新后的第一用户行为数据表可以作为原始用户行为数据表供之后所进行的ETL操作使用。
这样,在重新执行ETL操作的过程中,对两次执行ETL操作过程中更新获得的第一用户行为数据表以及第二用户行为数据表进行同步,保证了重新执行ETL操作后用户行为数据表的正确性。
在上述实现ETL的方法实施例一的基础上,在指定用户配置文件的同时还可以指定需要重新执行ETL操作的数据所处的时间段,对指定时间段内的指定用户配置文件重新执行ETL操作。参见图3所示,示出了本发明实施例中提供的实现ETL的方法实施例三,可以包括以下步骤:
步骤301:利用全部用户配置文件执行ETL操作,生成第一数据文件。
此处需要说明的是,步骤301在执行本发明实施例中提供的实现ETL的方法之前已经完成,即第一数据文件在利用全部用户配置文件执行ETL操作后就已经生成了。
步骤302:获得用户配置文件的指定标识,根据指定标识确定指定的用户配置文件。
步骤303:获得指定时间段,确定处于所述指定时间段内的指定的用户配置文件。
步骤304:利用指定时间段内的指定的用户配置文件重新执行ETL操作,生成第二数据文件。
可以先获取指定的用户配置文件,再利用指定时间段内的指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件。
步骤305:将第二数据文件与第一数据文件进行合并,生成第三数据文件。
在第一数据文件中查找指定标识对应的数据部分,在第一数据文件中将指定标识对应的数据部分替换为第二数据文件内的数据,生成第三数据文件。
步骤306:在第一数据文件的保存路径下将原有的第一数据文件删除,将第三数据文件作为更新后的第一数据文件保存。
本实施例与实现ETL的方法实施例一的区别在于第二数据文件是利用指定时间段内的指定的用户配置文件重新执行ETL操作后所生成的,而对第一数据文件与第二数据文件进行合并的过程与上述实施例一类似,因此,将重新执行后的第二数据文件与已经存在的第一数据文件做合并,将重新执行后的数据替换掉第一数据文件中相应部分的数据生成第三数据文件,再将第三数据文件替换掉第一数据文件,完成对部分用户配置文件重新执行ETL操作,这样在仅需要变更指定时间段内的指定的用户配置文件时无需再对全部用户配置文件执行ETL,节省了大量时间。
而在实现ETL的方法实施例三的基础上,在重新执行ETL的过程中同样需要考虑对用户行为数据表的处理。参见图4所示,示出了本发明实施例中提供的实现ETL的方法实施例四,可以包括以下步骤:
步骤401:获得指定时间段、原始用户行为数据表以及在指定时间段之前一次的原始用户行为数据表的快照表。
步骤402:利用全部用户配置文件执行ETL操作,生成第一数据文件。
步骤403:在利用全部用户配置文件执行ETL操作的过程中将原始用户行为数据表更新为第一用户行为数据表。即第一用户行为数据表是利用全部用户配置文件执行ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
spark etl在计算用户行为相关指标的过程中使用了hbase的一张用户行为数据表,在未进行ETL操作时可以获得原始用户行为数据表,执行ETL操作的过程中会更新这张表生成第一用户行为数据表。
此处需要说明的是,步骤402和步骤403在执行本发明实施例中提供的实现ETL的方法之前已经完成,即第一数据文件在利用全部用户配置文件执行ETL操作后就已经生成了,而在利用全部用户配置文件执行ETL操作的过程中就已经将原始用户行为数据表更新为第一用户行为数据表了。
步骤404:获得用户配置文件的指定标识,根据指定标识确定指定的用户配置文件。
步骤405:获得指定时间段,确定处于所述指定时间段内的指定的用户配置文件。
步骤406:利用指定时间段内的指定的用户配置文件重新执行ETL操作,生成第二数据文件。
步骤407:在利用指定时间段内的指定的用户配置文件重新执行ETL操作的过程中将原始用户行为数据表的快照表更新为第二用户行为数据表。
原始用户行为数据表在每次更新后会进行一次快照获得一张快照表,在获得指定时间段后可以获得指定时间段之前一次的用户行为数据表的快照表,在利用指定时间段内指定的用户配置文件重新执行ETL操作的过程中,是以该快照表为基础对该时刻的用户行为数据表进行更新生成第二用户行为数据表。指定时间段之前一次的用户行为数据表的快照表代表的是指定时间段起始时刻用户行为数据表的状态,又由于是利用指定时间段内指定的用户配置文件重新执行ETL操作,因此只有利用该快照表为基础进行更新才能获得准确的第二用户行为数据表。
步骤408:将第二数据文件与第一数据文件进行合并,生成第三数据文件。
在第一数据文件中查找指定标识对应的数据部分,在第一数据文件中将指定标识对应的数据部分替换为第二数据文件内的数据,生成第三数据文件。
步骤409:在第一数据文件的保存路径下将原有的第一数据文件删除,将第三数据文件作为更新后的第一数据文件保存。
步骤410:在第一用户行为数据表中查找指定标识对应的第一数据部分,在第二用户行为数据表中查找指定标识对应的第二数据部分,在第一用户行为数据表中将第一数据部分替换为第二数据部分。
类似的,在第一用户行为数据表指定标识对应的数据与在第二用户行为数据表指定标识对应的数据可能存在差异,这时需要将这些差异从第二用户行为数据表中同步到第一用户行为数据表中,更新后的第一用户行为数据表可以作为原始用户行为数据表供之后所进行的ETL操作使用。
这样,对指定时间段内的指定用户配置文件重新执行ETL的操作过程中,也可以保证用户行为数据表的正确性。
以下以实际应用为例,再对本发明实施例提供的实现ETL的方法进行说明。
假设需要对指定时间段为20160810到现在,指定标识为2208的profile重新执行ETL操作。
首先可以复制原始用户行为数据表wd-user在20160809的快照表,将其命名为wd-user-rerun;对指定时间段20160810到现在,指定标识为2208的profile重新执行sparketl的操作,并生成了重新执行后的数据文件,该数据文件中只包含profile 2208从20160810到现在的数据,假设该数据文件存放在/user/hadoop/etl-rerun下;将从20160810到现在的已经存在的数据文件(即之前正常执行获得的第一数据文件,假设存放在/user/hive/warehouse/wd3.db下)备份到另外的目录下(例如/user/hadoop-wd/etl-backup-data);将重新执行之后的数据文件(即第二数据文件,存放在/user/hadoop/etl-rerun)和已经存在的数据文件(存放在/user/hive/warehouse/wd3.db)做合并,根据profile标识将重新执行之后的第二数据文件的数据替换掉已经存在的第一数据文件中对应部分的数据,合并之后的第三数据文件存放在/user/hadoop/etl-rerun-tmp中,该第三数据文件包含了重新执行后的profile 2208的数据以及已经存在的数据文件中其他profile的数据;将存放在/user/hadoop/etl-rerun-tmp路径下合并之后的第三数据文件替换掉存放在/user/hive/warehouse/wd3.db路径下已经存在的第一数据文件;最后在重新执行ETL操作后,profile 2208在wd-user-rerun表中的数据和profile 2208在表wd-user中的数据可能存在差异,需要将这些差异从wd-user-rerun同步到wd-user中,从而完成重新执行针对指定profile以及指定时间段的etl。
参见图5所示,示出了本发明实施例中提供的实现ETL的装置实施例一,可以包括:
确定单元501,用于获得用户配置文件的指定标识,根据指定标识确定指定的用户配置文件。
执行单元502,用于利用指定的用户配置文件重新执行ETL操作,生成第二数据文件。第一数据文件是利用全部用户配置文件执行ETL操作后生成的。
合并单元503,用于将第二数据文件与第一数据文件进行合并,生成第三数据文件。其中第一数据文件是利用全部用户配置文件执行ETL操作后生成的。
在本发明的一些可能的实现方式中,合并单元可以具体用于:
在第一数据文件中查找指定标识对应的数据部分,在第一数据文件中将指定标识对应的数据部分替换为第二数据文件内的数据,生成第三数据文件。
第一替换单元504,用于在第一数据文件的保存路径下将原有的第一数据文件删除,将第三数据文件作为更新后的第一数据文件保存。
在本发明的一些可能的实现方式中,在本实施例中还可以包括:
第一获得单元,用于获得原始用户行为数据表;
第一更新单元,用于在执行单元利用指定的用户配置文件重新执行ETL操作的过程中将原始用户行为数据表更新为第二用户行为数据表;
第二替换单元,用于在第一用户行为数据表中查找指定标识对应的第一数据部分,在第二用户行为数据表中查找指定标识对应的第二数据部分,在第一用户行为数据表中将第一数据部分替换为第二数据部分,其中第一用户行为数据表是利用全部用户配置文件执行ETL操作的过程中对原始用户行为数据表进行更新获取的。
参见图6所示,示出了本发明实施例中提供的实现ETL的装置实施例二,可以包括:
确定单元601,用于获得用户配置文件的指定标识,根据指定标识确定指定的用户配置文件。
第二获得单元602,用于获得指定时间段。
执行单元603,用于利用指定时间段以及指定的用户配置文件重新执行ETL操作,生成第二数据文件。
执行单元可以包括:
确定子单元,用于确定处于所述指定时间段内的所述指定的用户配置文件;
执行子单元,用于利用指定时间段内的指定的用户配置文件重新执行数ETL操作,生成第二数据文件。
合并单元604,用于将第二数据文件与第一数据文件进行合并,生成第三数据文件。第一数据文件是利用全部用户配置文件执行ETL操作后生成的。
在本发明的一些可能的实现方式中,合并单元可以具体用于:
在第一数据文件中查找指定标识对应的数据部分,在第一数据文件中将指定标识对应的数据部分替换为第二数据文件内的数据,生成第三数据文件。
第一替换单元605,用于在第一数据文件的保存路径下将原有的第一数据文件删除,将第三数据文件作为更新后的第一数据文件保存。
在本发明的一些可能的实现方式中,在本实施例中还可以包括:
第三获得单元,用于获得原始用户行为数据表以及在指定时间段之前一次的原始用户行为数据表的快照表;
第二更新单元,用于在执行子单元利用指定时间段内的指定的用户配置文件重新执行ETL操作的过程中将原始用户行为数据表的快照表更新为第二用户行为数据表;
第三替换单元,用于在第一用户行为数据表中查找指定标识对应的第一数据部分,在第二用户行为数据表中查找指定标识对应的第二数据部分,在第一用户行为数据表中将第一数据部分替换为第二数据部分,其中第一用户行为数据表是利用全部用户配置文件执行ETL操作的过程中对原始用户行为数据表进行更新获取的。
所述实现ETL的装置包括处理器和存储器,上述确定单元、执行单元、合并单元和第一替换单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现重新执行ETL操作。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
这样,在需要时通过对指定的用户配置文件重新执行ETL操作生成第二数据文件,并将重新执行后的第二数据文件与已经存在的利用全部用户配置文件执行ETL操作后生成的第一数据文件做合并,将重新执行后的数据替换掉第一数据文件中相应部分的数据生成第三数据文件,再将第三数据文件作为更新后的第一数据文件替换掉原有的第一数据文件,通过仅对部分数据存在质量问题的用户配置文件重新执行ETL操作,这样在仅需要变更部分用户配置文件时无需再对全部用户配置文件执行ETL,节省了大量时间。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:
获得用户配置文件的指定标识,根据所述指定标识确定指定的用户配置文件;
利用所述指定的用户配置文件重新执行ETL操作,生成第二数据文件;
将所述第二数据文件与第一数据文件进行合并,生成第三数据文件;所述第一数据文件是利用全部用户配置文件执行ETL操作后生成的;
在所述第一数据文件的保存路径下将原有的第一数据文件删除,将所述第三数据文件作为更新后的第一数据文件保存。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种实现数据抽取转换加载ETL的方法,其特征在于,所述方法包括:
获得用户配置文件的指定标识,根据所述指定标识确定指定的用户配置文件;
利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件;
将所述第二数据文件与第一数据文件进行合并,生成第三数据文件,其中所述第一数据文件是利用全部用户配置文件执行数据抽取转换加载ETL操作后生成的;
在所述第一数据文件的保存路径下将原有的第一数据文件删除,将所述第三数据文件作为更新后的第一数据文件保存。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得原始用户行为数据表;
在利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作的过程中将所述原始用户行为数据表更新为第二用户行为数据表;
在第一用户行为数据表中查找所述指定标识对应的第一数据部分,在所述第二用户行为数据表中查找所述指定标识对应的第二数据部分,在所述第一用户行为数据表中将所述第一数据部分替换为所述第二数据部分,其中所述第一用户行为数据表是利用全部用户配置文件执行数据抽取转换加载ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得指定时间段;
所述利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件,包括:
确定处于所述指定时间段内的所述指定的用户配置文件;
利用所述指定时间段内的所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获得原始用户行为数据表以及在所述指定时间段之前一次的所述原始用户行为数据表的快照表;
在利用所述指定时间段内的所述指定的用户配置文件重新执行数据抽取转换加载ETL操作的过程中将所述原始用户行为数据表的快照表更新为第二用户行为数据表;
在第一用户行为数据表中查找所述指定标识对应的第一数据部分,在所述第二用户行为数据表中查找所述指定标识对应的第二数据部分,在所述第一用户行为数据表中将所述第一数据部分替换为所述第二数据部分,其中所述第一用户行为数据表是利用全部用户配置文件执行数据抽取转换加载ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述将所述第二数据文件与所述第一数据文件进行合并,生成第三数据文件,包括:
在所述第一数据文件中查找所述指定标识对应的数据部分,在所述第一数据文件中将所述指定标识对应的数据部分替换为所述第二数据文件内的数据,生成第三数据文件。
6.一种实现数据抽取转换加载ETL的装置,其特征在于,所述装置包括:
确定单元,用于获得用户配置文件的指定标识,根据所述指定标识确定指定的用户配置文件;
执行单元,用于利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件;
合并单元,用于将所述第二数据文件与第一数据文件进行合并,生成第三数据文件,其中所述第一数据文件是利用全部用户配置文件执行数据抽取转换加载ETL操作后生成的;
第一替换单元,用于在所述第一数据文件的保存路径下将原有的第一数据文件删除,将所述第三数据文件作为更新后的第一数据文件保存。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一获得单元,用于获得原始用户行为数据表;
第一更新单元,用于在所述执行单元利用所述指定的用户配置文件重新执行数据抽取转换加载ETL操作的过程中将所述原始用户行为数据表更新为第二用户行为数据表;
第二替换单元,用于在第一用户行为数据表中查找所述指定标识对应的第一数据部分,在所述第二用户行为数据表中查找所述指定标识对应的第二数据部分,在所述第一用户行为数据表中将所述第一数据部分替换为所述第二数据部分,其中所述第一用户行为数据表是利用全部用户配置文件执行数据抽取转换加载ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二获得单元,用于获得指定时间段;
所述执行单元包括:
确定子单元,用于确定处于所述指定时间段内的所述指定的用户配置文件;
执行子单元,用于利用所述指定时间段内的所述指定的用户配置文件重新执行数据抽取转换加载ETL操作,生成第二数据文件。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第三获得单元,用于获得原始用户行为数据表以及在所述指定时间段之前一次的所述原始用户行为数据表的快照表;
第二更新单元,用于在所述执行子单元利用所述指定时间段内的所述指定的用户配置文件重新执行数据抽取转换加载ETL操作的过程中将所述原始用户行为数据表的快照表更新为第二用户行为数据表;
第三替换单元,用于在第一用户行为数据表中查找所述指定标识对应的第一数据部分,在所述第二用户行为数据表中查找所述指定标识对应的第二数据部分,在所述第一用户行为数据表中将所述第一数据部分替换为所述第二数据部分,其中所述第一用户行为数据表是利用全部用户配置文件执行数据抽取转换加载ETL操作的过程中对所述原始用户行为数据表进行更新获取的。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述合并单元具体用于:
在所述第一数据文件中查找所述指定标识对应的数据部分,在所述第一数据文件中将所述指定标识对应的数据部分替换为所述第二数据文件内的数据,生成第三数据文件。
CN201611071753.7A 2016-11-28 2016-11-28 一种实现数据抽取转换加载etl的方法及装置 Active CN108121719B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611071753.7A CN108121719B (zh) 2016-11-28 2016-11-28 一种实现数据抽取转换加载etl的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611071753.7A CN108121719B (zh) 2016-11-28 2016-11-28 一种实现数据抽取转换加载etl的方法及装置

Publications (2)

Publication Number Publication Date
CN108121719A true CN108121719A (zh) 2018-06-05
CN108121719B CN108121719B (zh) 2020-06-30

Family

ID=62225354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611071753.7A Active CN108121719B (zh) 2016-11-28 2016-11-28 一种实现数据抽取转换加载etl的方法及装置

Country Status (1)

Country Link
CN (1) CN108121719B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468128A (zh) * 2021-07-21 2021-10-01 上海浦东发展银行股份有限公司 一种数据处理的方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329676A (zh) * 2007-06-20 2008-12-24 华为技术有限公司 一种数据并行抽取方法、装置和数据库系统
CN101997911A (zh) * 2010-10-21 2011-03-30 中兴通讯股份有限公司 一种数据迁移的方法及系统
US8639653B2 (en) * 2008-12-12 2014-01-28 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for managing batch operations in an enterprise data integration platform environment
US8725701B2 (en) * 2008-10-08 2014-05-13 Oracle International Corporation Merger and acquisition data validation
CN105117489A (zh) * 2015-09-21 2015-12-02 北京金山安全软件有限公司 一种数据库管理方法、装置及电子设备
CN105808612A (zh) * 2014-12-31 2016-07-27 北京嘀嘀无限科技发展有限公司 用于迁移数据库的数据的方法及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329676A (zh) * 2007-06-20 2008-12-24 华为技术有限公司 一种数据并行抽取方法、装置和数据库系统
US8725701B2 (en) * 2008-10-08 2014-05-13 Oracle International Corporation Merger and acquisition data validation
US8639653B2 (en) * 2008-12-12 2014-01-28 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for managing batch operations in an enterprise data integration platform environment
CN101997911A (zh) * 2010-10-21 2011-03-30 中兴通讯股份有限公司 一种数据迁移的方法及系统
CN105808612A (zh) * 2014-12-31 2016-07-27 北京嘀嘀无限科技发展有限公司 用于迁移数据库的数据的方法及设备
CN105117489A (zh) * 2015-09-21 2015-12-02 北京金山安全软件有限公司 一种数据库管理方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈雪峰: "一种ETL与数据清洗相结合的分布式数据集成工具的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468128A (zh) * 2021-07-21 2021-10-01 上海浦东发展银行股份有限公司 一种数据处理的方法、装置、电子设备及存储介质
CN113468128B (zh) * 2021-07-21 2023-02-17 上海浦东发展银行股份有限公司 一种数据处理的方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108121719B (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN107957957B (zh) 测试用例的获取方法和装置
Hinde et al. Bidirectional citation searching to completion: an exploration of literature searching methods
CN104035917B (zh) 一种基于语义空间映射的知识图谱管理方法和系统
US10664471B2 (en) System and method of query processing with schema change in JSON document store
US8661004B2 (en) Representing incomplete and uncertain information in graph data
US20130311487A1 (en) Semantic search using a single-source semantic model
CN110472068A (zh) 基于异构分布式知识图谱的大数据处理方法、设备及介质
CN104866497A (zh) 分布式文件系统列式存储的元数据更新方法、装置、主机
US11907659B2 (en) Item recall method and system, electronic device and readable storage medium
US20140101167A1 (en) Creation of Inverted Index System, and Data Processing Method and Apparatus
JP2015531126A (ja) 製品特性のナビゲーションを実現する方法および装置
Agarwal et al. Approximate incremental big-data harmonization
US9406018B2 (en) Systems and methods for semantic data integration
CN104636401B (zh) 一种scada系统数据回滚的方法及装置
JP7098327B2 (ja) 情報処理システム、関数作成方法および関数作成プログラム
CN110019111A (zh) 数据处理方法、装置、存储介质以及处理器
CN105069175A (zh) 一种基于版本控制系统的信息检索方法及服务器
Chu et al. Automatic data extraction of websites using data path matching and alignment
CN108121712A (zh) 一种关键词存储方法及装置
CN109255011A (zh) 一种基于人工智能的搜索提示方法及电子设备
CN111125216B (zh) 数据导入Phoenix的方法及装置
CN108121719A (zh) 一种实现数据抽取转换加载etl的方法及装置
CN113743432A (zh) 一种图像实体信息获取方法、设备、电子设备和存储介质
JP2013222418A (ja) パッセージ分割方法、装置、及びプログラム
CN111125087A (zh) 数据的存储方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant