CN110209731A - 数据同步方法、装置、及存储介质、电子装置 - Google Patents
数据同步方法、装置、及存储介质、电子装置 Download PDFInfo
- Publication number
- CN110209731A CN110209731A CN201910340483.2A CN201910340483A CN110209731A CN 110209731 A CN110209731 A CN 110209731A CN 201910340483 A CN201910340483 A CN 201910340483A CN 110209731 A CN110209731 A CN 110209731A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- tables
- job
- file
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000001360 synchronised effect Effects 0.000 claims abstract description 118
- 230000006837 decompression Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 20
- 238000007906 compression Methods 0.000 claims description 19
- 230000006835 compression Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据同步方法、装置、及存储介质、电子装置,其中,该方法包括:利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,其中,每个Job用于将对应的一个或多个数据来源的待同步数据表压缩为一个文本文件,指定数量等于登录SFTP服务器的并发链路的数量;利用每个Job将对应生成的文本文件通过对应的并发链路上传至SFTP服务器;在SFTP服务器中解压每个文本文件,得到每个文本文件中的待同步数据表;将同一数据来源的待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统。通过本发明,解决了相关技术中将数据同步至Hive数据库的效率较低的技术问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据同步方法、装置、及存储介质、电子装置。
背景技术
在将数据同步至Hive数据库的过程中,首先需要将数据上传至SFTP服务器,进而将SFTP服务器中的数据加载(load)至Hive数据库中。发明人发现,现有技术中通常按照数据表进行操作,而SFTP服务器每次只能上传一个文件,频繁上传会导致SFTP服务器认证失败,并在失败后继续尝试,影响文件上传效率。此外,在加载至Hive数据库中时,需要多次建立连接,耗时较大,严重影响数据加载速度。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种数据同步方法、装置、及存储介质、电子装置,以至少解决现有技术中将数据同步至Hive数据库的效率较低的技术问题。
根据本发明的一个实施例,提供了一种数据同步方法,包括:利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,其中,每个Job用于将对应的一个或多个数据来源的待同步数据表压缩为一个文本文件,指定数量等于登录SFTP服务器的并发链路的数量;利用每个Job将对应生成的文本文件通过对应的并发链路上传至SFTP服务器;在SFTP服务器中解压每个文本文件,得到每个文本文件中的待同步数据表;将同一数据来源的待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统。
进一步地,利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,包括:获取并发链路的数量;根据并发链路的数量确定指定数量和划分方案;按照划分方案将不同数据来源的待同步数据表划分至指定数量的多个目录;利用ETL工具的每个Job对对应的目录进行压缩,得到多个文本文件。
进一步地,按照划分方案将不同数据来源的待同步数据表划分至指定数量的多个目录,包括:在目标数据来源的数据库中查询待同步数据;按照划分方案将查询到的待同步数据写入目标数据来源对应的目录中的待同步数据表;利用ETL工具的每个Job对对应的目录进行压缩,包括:在任一目录中的待同步数据表写入完毕的情况下,利用已写完的目录所对应的Job按预设压缩格式压缩目录,得到对应的文本文件。
进一步地,在SFTP服务器中解压每个文本文件,得到每个文本文件中的待同步数据表,包括:在任一文本文件上传至SFTP服务器中之后,按照目标解压方式解压对应的文本文件,得到对应的待同步数据表。
进一步地,将同一数据来源的待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统,包括:在任一数据来源的待同步数据表解压完毕的情况下,建立SFTP服务器与HDFS文件系统的连接链路;利用建立的连接链路将对应数据来源的待同步数据表上传至HDFS文件系统。
进一步地,在利用建立的连接链路将对应数据来源的待同步数据表上传至HDFS文件系统之后,该方法还包括:在SFTP服务器中删除对应数据来源的待同步数据表。
根据本发明的另一个实施例,提供了一种数据同步装置,包括:压缩模块,用于利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,其中,每个Job用于将对应的一个或多个数据来源的待同步数据表压缩为一个文本文件,指定数量等于登录SFTP服务器的并发链路的数量;上传模块,用于利用每个Job将对应生成的文本文件通过对应的并发链路上传至SFTP服务器;解压模块,用于在SFTP服务器中解压每个文本文件,得到每个文本文件中的待同步数据表;加载模块,用于将同一数据来源的待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统。
进一步地,压缩模块包括:获取单元,用于获取并发链路的数量;确定单元,用于根据并发链路的数量确定指定数量和划分方案;划分单元,用于按照划分方案将不同数据来源的待同步数据表划分至指定数量的多个目录;压缩单元,用于利用ETL工具的每个Job对对应的目录进行压缩,得到多个文本文件。
进一步地,划分单元包括:查询单元,用于在目标数据库中查询待同步数据;写入单元,用于按照划分方案将查询到的待同步数据写入目标数据来源对应的目录中的待同步数据表,压缩单元还用于在任一目录中的待同步数据表写入完毕的情况下,利用已写完的目录所对应的Job按预设压缩格式压缩目录,得到对应的文本文件。
进一步地,解压模块包括:解压单元,用于在任一文本文件上传至SFTP服务器中之后,按照目标解压方式解压对应的文本文件,得到对应的待同步数据表。
进一步地,加载模块包括:建立单元,用于在任一数据来源的待同步数据表解压完毕的情况下,建立SFTP服务器与HDFS文件系统的连接链路;上传单元,用于利用建立的连接链路将对应数据来源的待同步数据表上传至HDFS文件系统。
进一步地,该装置还包括:删除模块,用于在利用建立的连接链路将对应数据来源的待同步数据表上传至HDFS文件系统之后,在SFTP服务器中删除对应数据来源的待同步数据表。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,其中,每个Job用于将对应的一个或多个数据来源的待同步数据表压缩为一个文本文件,指定数量等于登录SFTP服务器的并发链路的数量;利用每个Job将对应生成的文本文件通过对应的并发链路上传至SFTP服务器;在SFTP服务器中解压每个文本文件,得到每个文本文件中的待同步数据表;将同一数据来源的待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统,解决了相关技术中将数据同步至Hive数据库的效率较低的技术问题,达到了提高将数据同步至Hive数据库的效率的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据同步方法的流程图;
图2是根据本发明实施例的数据同步装置的示意图;
图3是本发明实施例的一种计算机设备的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本实施例提供的数据同步方法,应用于将数据同步至Hive数据库的场景。在需要更新同步两个数据库中的数据时,利用ETL工具的多个Job将待同步数据表压缩为个数等于登录SFTP服务器的并发链路的数量的多个文件,从而使得每个并发链路只需要上传一个文本文件,大大减少每个并发链路上传文件的次数,提高了上传的成功率,防止频繁上传导致SFTP服务器认证失败的问题。进一步的,在每个压缩的文本文件上传至SFTP服务器之后,解压文本文件,并按照同一数据来源的待同步数据表利用同一次加载操作执行加载的方式,将所有待同步数据表加载至Hive数据库对应的HDFS文件系统,减少与Hive数据库建立连接的次数,提高了加载的成功率。
具体而言,如图1所示,本实施例提供的数据同步方法包括如下步骤101~104:
步骤101,利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,其中,每个Job用于将对应的一个或多个数据来源的待同步数据表压缩为一个文本文件,指定数量等于登录SFTP服务器的并发链路的数量。
数据仓库技术(Extract-Transform-Load,简称ETL)工具是一种可以执行从数据来源抽取、对数据进行转换、将数据加载至目标端等操作的工具,在ETL工具中,用Job(任务)来描述对数据的一种操作,类似于Java中的任务。例如,Kettle工具集就是一种开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,Kettle工具集中的Job能够描述数据操作的具体内容。因此,可以利用ETL工具中的Job将待同步数据表按照指定的格式输出,因此,以实现将多个数据来源的多个待同步数据表压缩为指定数量的文件。
具体的,利用多个Job抽取数据,每个Job可以抽取一个或多个数据来源的数据,每个Job抽取的数据写入同一个文件中,也即实现了压缩文件的过程,得到的多个压缩的文件是与多个Job一一对应的。文件的压缩格式可以是预设的,例如,Kettle工具而言,可以配置输出的文件为指定的格式。
举例而言,可以在Kettle工具集中创建N个Job,N小于等于并发链路的数量,每个Job从对应的一个或多个数据来源(如,每个数据来源可以是一个银行支行)抽取数据,生成一个文件,每个Job生成的文件中可以包括一个或多个Schema,每个Schema是一个数据表的集合,例如,一个Schema可以包含同一个数据来源的多张数据表。
在本步骤中,需要使得生成的文件的数量(也即指定数量)等于登录SFTP服务器的并发链路的数量,这是由于在将数据同步至Hive数据库的过程中,需要先将数据上传至SFTP服务器,因此,需要登录SFTP服务器,而登录SFTP服务器具有并发链路的数量限制,为了减少与SFTP服务器的连接次数,将抽取的数据压缩为数量小于并发链路的文件。例如,登录一个SFTP服务器能够同时并发8个链路,则指定数量需要小于或等于8,具体可以根据实际业务需求进行配置。
具体的,为使得压缩之后的文件数量等于登录SFTP服务器的并发链路的数量,可以通过预先对ETL工具进行配置来实现。
举例而言,可以在Kettle工具集中创建N个Job,N小于等于并发链路的数量,每个Job从对应的地市内包括的一个或多个银行支行(每个银行支行相当于一个数据来源)抽取数据,生成一个文件,每个Job生成的文件中包括分别与一个或多个银行支行相对应的一个或多个Schema(也即同一数据来源的待同步数据表),每个Schema中包含同一个银行支行的多张数据表,将一个Job抽取的数据写入同一个文件中。
为进一步对上述举例进行说明,步骤101可以通过如下步骤实现:
步骤11,获取并发链路的数量。
并发链路的数量可以是用户输入的数值,或者预先被配置的数值。
步骤12,根据并发链路的数量确定指定数量和划分方案。
在确定并发链路的数量之后,可以根据并发链路的数量确定需要利用ETL工具生成文件的数量(指定数量),指定数量等于登录SFTP服务器的并发链路的数量。
在确定生成文件的数量之后,可以进一步的确定划分方案。划分方案用于将不同数据来源的待同步数据表划分至指定数量的多个目录,其中,每个目录中包括具有某一共同特征的数据来源的待同步数据表。例如,将同一地市的多个银行(每个银行为一个数据来源)的数据划分至同一个用于执行数据抽取和写入的Job所对应的目录中,同一个Job目录下的所有银行数据在被抽取和写入到目录之后会执行压缩,每一个目录生成一个对应的文件。
步骤13,按照划分方案将不同数据来源的待同步数据表划分至指定数量的多个目录。
具体的,在按照划分方案将待同步数据表划分至指定数量的多个目录时,先在目标数据库(待同步数据表的数据来源)中查询待同步数据,例如,通过SQL语言在目标数据库中查询指定字段的数据,并将查询到的待同步数据写入目标数据来源对应的目录中的待同步数据表。
步骤14,利用ETL工具的每个Job对对应的目录进行压缩,得到多个文本文件。
Hive数据同步过程需要先将待同步数据写入到本地的文件中,然后在将文件通过SFTP的传输方式上传到SFTP服务器上,将待同步数据表按照Job划分,也需要将文件写入到本地文件系统,只是文件按照如下目录xxx/job1/dateTime/databases/table的形式存储。
可选的,对不同目录内的数据压缩过程可以是异步的,在任一目录中的待同步数据表写入完毕的情况下,利用ETL工具压缩对应的目录,得到对应的文件。这是由于从数据来源抽取数据写入到目录中需要一定的时间,各个目录的写入速度不一定相同,因此,每当有一个目录内的数据被抽取和写入完毕,就可以对该目录内的数据进行压缩,压缩是利用ETL工具集中对应的Job工具进行压缩。
步骤102,利用每个Job将对应生成的文本文件通过对应的并发链路上传至SFTP服务器。
利用ETL工具中的数据抽取能够从来源获取待同步数据表,待同步数据表也即待同步至Hive数据库中的数据表,Hive数据同步过程需要先将待同步数据写入到本地的文件中,然后在将文件通过SFTP的传输方式上传到SFTP服务器上。SFTP服务器是指定的服务器,用于暂存需要加载的数据,相当于是文件服务器。
由于多个文件的个数小于或等于与SFTP文件服务器连接的并发链路个数,因此,各个文件可以采用不同的并发链路分别上传,每个文件采用其中一个链路发送。需要说明的是,由于不同文件的写入完毕以及压缩完毕的时间是不同的,各个文件可以异步的(不同时开始)发送。需要说明的是,该步骤也可以是利用ETL工具执行的。
步骤103,在SFTP服务器中解压每个文本文件,得到每个文本文件中的待同步数据表。
在将文件上传至SFTP服务器中之后,进行解压,得到待同步数据表。多个文件的解压过程可以是异步的,也即,在每一个文件被上传至SFTP服务器之后,就可以开始对对应的文件执行解压。
解压的方式为预设的方式,是与将待同步数据表压缩为上传的文件的压缩方式相对应的解压方式。解压方式可以是被预先配置的,人工预先指定文件的压缩格式以确定对应的解压方式;也可以是自动识别文件格式(如利用文件的后缀名)以确定对应的解压方式,例如,可以通过Linuxshell对文件进行操作,判断文件的压缩格式,根据具体的压缩格式进行文件的解压缩。
步骤104,将同一数据来源的待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统。
在解压SFTP服务器中的文件之后,将该文件内所包括的待同步数据表加载至Hive数据库(数据同步的目的端)的HDFS文件系统中,其中,HDFS文件系统是Hive数据库的数据仓库,例如,HDFS文件系统中可以配置有单独存储Hive数据库的文件的目录,如“/user/hive/warehouse/…”。在这个步骤中,可以利用Linux shell脚本执行上传的动作,将解压后的待同步数据表上传至HDFS文件系统中。
在加载至HDFS文件系统之后,Hive数据库可以利用外部表的方式加载HDFS文件系统中的表,例如,在Hive数据库中创建外部表以指向HDFS文件系统中存储对应的待同步数据表的文件目录,以达到将待同步数据表更新至Hive数据库的目的。
可选的,待同步数据表的数据结构具体为:每个文件的待同步数据表包括多个数据表集合Schema,且每个数据表集合包括多张数据表,相应的,为了减少Hive数据库与SFTP服务器的连接次数,可以以Schema为单位进行加载(load)操作。
如果一个schema下有n张表,那么在按表进行数据加载(将SFTP服务器的数据加载至HDFS文件系统)时,就需要SFTP服务器与Hive数据库(的HDFS文件系统)建立n次数据连接(连接数据库的操作),而如果按照Schema进行加载时,只需要与Hive数据库进行一次数据连接,这样就大大减少了与Hive数据库的连接次数。
按照Schema做文件load操作,可以一次性将某一个Schema下的n多张表在一个数据库连接下进行数据加载,减少了数据库连接导致的数据加载慢的问题,根据实际使用中的统计,可以提升最高至3倍的效率。
可选的,加载的过程也可以是异步的,也即,在任意一个数据表集合解压完毕的情况下,建立SFTP服务器与HDFS文件系统的连接链路,利用建立的连接链路将对应的数据表集合上传至HDFS文件系统。
在将数据上传至HDFS文件系统之后,受限SFTP文件服务器的磁盘大小,如果将数据遗留在SFTP文件服务器中会占用SFTP文件服务器的存储空间,一旦SFTP文件服务器的存储空间满了,将会导致后续任务失败。因此,为了释放SFTP服务器的存储空间,在每一个Schema加载完毕之后,可以将SFTP服务器中存储的对应的Schema删除,以释放更多的空间,防止SFTP服务器崩溃。需要说明的是,在删除文件时,删除的文件是SFTP服务器上的文件,不是HDFS文件系统中的文件。
本发明实施例提供的数据同步方法,能够减少SFTP服务器的登录次数,有效的避免频繁登录SFTP服务器导致的认证失败,需要再次尝试连接导致耗时较长的问题,通过将数据文件压缩传输,减少网络输入输出(IO),解决了将数据同步至Hive数据库的效率较低的技术问题。
此外,在一个可选的实施方式中,将SFTP服务器中的数据加载至Hive数据库中时,同一个Schema的多个数据表共同使用一个连接,通过这种利用ETL工具分Job压缩,在上传至SFTP服务器之后分schema向Hive数据库执行数据加载的技术方案,能够有效的减少SFTP服务器与Hive数据库的连接次数,提高加载文件的速度和稳定性。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种数据同步装置,该装置用于实现上述实施例1及其优选实施方式,对于本实施例中未详述的术语或实现方式,可参见实施例1中的相关说明,已经进行过说明的不再赘述。
如以下所使用的术语“模块”,是可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可以被构想的。
图2是根据本发明实施例的数据同步装置的示意图,如图2所示,该装置包括压缩模块10,上传模块20,解压模块30和加载模块40。
其中,压缩模块,用于利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,其中,每个Job用于将对应的一个或多个数据来源的待同步数据表压缩为一个文本文件,指定数量等于登录SFTP服务器的并发链路的数量;上传模块,用于利用每个Job将对应生成的文本文件通过对应的并发链路上传至SFTP服务器;解压模块,用于在SFTP服务器中解压每个文本文件,得到每个文本文件中的待同步数据表;加载模块,用于将同一数据来源的待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统。
可选地,压缩模块包括:获取单元,用于获取并发链路的数量;确定单元,用于根据并发链路的数量确定指定数量和划分方案;划分单元,用于按照划分方案将不同数据来源的待同步数据表划分至指定数量的多个目录;压缩单元,用于利用ETL工具的每个Job对对应的目录进行压缩,得到多个文本文件。
可选地,划分单元包括:查询单元,用于在目标数据库中查询待同步数据;写入单元,用于按照划分方案将查询到的待同步数据写入目标数据来源对应的目录中的待同步数据表,压缩单元还用于在任一目录中的待同步数据表写入完毕的情况下,利用已写完的目录所对应的Job按预设压缩格式压缩目录,得到对应的文本文件。
可选地,解压模块包括:解压单元,用于在任一文本文件上传至SFTP服务器中之后,按照目标解压方式解压对应的文本文件,得到对应的待同步数据表。
可选地,加载模块包括:建立单元,用于在任一数据来源的待同步数据表解压完毕的情况下,建立SFTP服务器与HDFS文件系统的连接链路;上传单元,用于利用建立的连接链路将对应数据来源的待同步数据表上传至HDFS文件系统。
可选地,该装置还包括:删除模块,用于在利用建立的连接链路将对应数据来源的待同步数据表上传至HDFS文件系统之后,在SFTP服务器中删除对应数据来源的待同步数据表。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。以电子装置为计算机设备为例,图3是本发明实施例的一种计算机设备的硬件结构框图。如图3所示,计算机设备可以包括一个或多个(图3中仅示出一个)处理器302(处理器302可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器304,可选地,上述计算机设备还可以包括用于通信功能的传输设备306以及输入输出设备308。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述计算机设备的结构造成限定。例如,计算机设备还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器304可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的图像的识别方法对应的计算机程序,处理器302通过运行存储在存储器304内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机设备的通信供应商提供的无线网络。在一个实例中,传输装置306包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置306可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,其中,每个所述Job用于将对应的一个或多个数据来源的待同步数据表压缩为一个文本文件,所述指定数量等于登录SFTP服务器的并发链路的数量;
利用每个所述Job将对应生成的文本文件通过对应的并发链路上传至所述SFTP服务器;
在所述SFTP服务器中解压每个所述文本文件,得到每个所述文本文件中的待同步数据表;
将同一数据来源的所述待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统。
2.根据权利要求1所述的方法,其特征在于,所述利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,包括:
获取所述并发链路的数量;
根据所述并发链路的数量确定所述指定数量和划分方案;
按照所述划分方案将所述不同数据来源的待同步数据表划分至所述指定数量的多个目录;
利用所述ETL工具的每个所述Job对对应的目录进行压缩,得到所述多个文本文件。
3.根据权利要求2所述的方法,其特征在于,
所述按照所述划分方案将所述不同数据来源的待同步数据表划分至所述指定数量的多个目录,包括:在目标数据来源的数据库中查询待同步数据;按照所述划分方案将查询到的待同步数据写入所述目标数据来源对应的目录中的待同步数据表;
所述利用所述ETL工具的每个所述Job对对应的目录进行压缩,包括:在任一目录中的待同步数据表写入完毕的情况下,利用已写完的目录所对应的Job按预设压缩格式压缩目录,得到对应的文本文件。
4.根据权利要求1所述的方法,其特征在于,所述在所述SFTP服务器中解压每个所述文本文件,得到每个所述文本文件中的待同步数据表,包括:
在任一文本文件上传至所述SFTP服务器中之后,按照目标解压方式解压对应的文本文件,得到对应的所述待同步数据表。
5.根据权利要求4所述的方法,其特征在于,所述将同一数据来源的所述待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统,包括:
在任一数据来源的待同步数据表解压完毕的情况下,建立所述SFTP服务器与所述HDFS文件系统的连接链路;
利用建立的连接链路将对应数据来源的待同步数据表上传至所述HDFS文件系统。
6.根据权利要求5所述的方法,其特征在于,在利用建立的连接链路将对应数据来源的待同步数据表上传至所述HDFS文件系统之后,所述方法还包括:
在所述SFTP服务器中删除对应数据来源的待同步数据表。
7.一种数据同步装置,其特征在于,包括:
压缩模块,用于利用ETL工具中指定数量的多个Job将不同数据来源的待同步数据表压缩为多个文本文件,其中,每个所述Job用于将对应的一个或多个数据来源的待同步数据表压缩为一个文本文件,所述指定数量等于登录SFTP服务器的并发链路的数量;
上传模块,用于利用每个所述Job将对应生成的文本文件通过对应的并发链路上传至所述SFTP服务器;
解压模块,用于在所述SFTP服务器中解压每个所述文本文件,得到每个所述文本文件中的待同步数据表;
加载模块,用于将同一数据来源的所述待同步数据表通过同一加载操作加载至目标Hive数据库对应的HDFS文件系统。
8.根据权利要求7所述的装置,其特征在于,所述压缩模块包括:
获取单元,用于获取所述并发链路的数量;
确定单元,用于根据所述并发链路的数量确定所述指定数量和划分方案;
划分单元,用于按照所述划分方案将所述不同数据来源的待同步数据表划分至所述指定数量的多个目录;
压缩单元,用于利用所述ETL工具的每个所述Job对对应的目录进行压缩,得到所述多个文本文件。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910340483.2A CN110209731A (zh) | 2019-04-25 | 2019-04-25 | 数据同步方法、装置、及存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910340483.2A CN110209731A (zh) | 2019-04-25 | 2019-04-25 | 数据同步方法、装置、及存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110209731A true CN110209731A (zh) | 2019-09-06 |
Family
ID=67786497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910340483.2A Pending CN110209731A (zh) | 2019-04-25 | 2019-04-25 | 数据同步方法、装置、及存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209731A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111107137A (zh) * | 2019-12-06 | 2020-05-05 | 携程旅游信息技术(上海)有限公司 | 通信数据同步及处理方法和系统 |
CN111917659A (zh) * | 2020-07-23 | 2020-11-10 | 上海聚音信息科技有限公司 | 并发数据传输方法、系统、装置及计算机可读存储介质 |
CN112347179A (zh) * | 2020-11-30 | 2021-02-09 | 中国农业银行股份有限公司 | 一种基于Excel定制模板的大数据导出方法和装置 |
CN112653757A (zh) * | 2020-12-21 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 文件管理系统、方法及设备 |
CN113254534A (zh) * | 2021-06-04 | 2021-08-13 | 四川省明厚天信息技术股份有限公司 | 数据同步方法、装置及计算机存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685543A (zh) * | 2013-12-23 | 2014-03-26 | 中国电子科技集团公司第三十研究所 | 一种异构数据库间的数据同步方法及系统 |
CN103795803A (zh) * | 2014-02-14 | 2014-05-14 | 浪潮通信信息系统有限公司 | 一种跨网络环境远程部署分布式数据采集节点的方法 |
CN104239493A (zh) * | 2014-09-09 | 2014-12-24 | 北京京东尚科信息技术有限公司 | 跨集群数据迁移方法和系统 |
CN106599197A (zh) * | 2016-12-14 | 2017-04-26 | 深圳天源迪科信息技术股份有限公司 | 数据采集交换引擎 |
US20180285382A1 (en) * | 2017-03-29 | 2018-10-04 | Commvault Systems, Inc. | Synchronization operations for network-accessible folders |
CN109582301A (zh) * | 2018-12-03 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 基于任务调度系统的业务处理方法、装置、设备及介质 |
CN109634934A (zh) * | 2018-11-02 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 交换金融数据的方法、装置、计算机设备和存储介质 |
-
2019
- 2019-04-25 CN CN201910340483.2A patent/CN110209731A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685543A (zh) * | 2013-12-23 | 2014-03-26 | 中国电子科技集团公司第三十研究所 | 一种异构数据库间的数据同步方法及系统 |
CN103795803A (zh) * | 2014-02-14 | 2014-05-14 | 浪潮通信信息系统有限公司 | 一种跨网络环境远程部署分布式数据采集节点的方法 |
CN104239493A (zh) * | 2014-09-09 | 2014-12-24 | 北京京东尚科信息技术有限公司 | 跨集群数据迁移方法和系统 |
CN106599197A (zh) * | 2016-12-14 | 2017-04-26 | 深圳天源迪科信息技术股份有限公司 | 数据采集交换引擎 |
US20180285382A1 (en) * | 2017-03-29 | 2018-10-04 | Commvault Systems, Inc. | Synchronization operations for network-accessible folders |
CN109634934A (zh) * | 2018-11-02 | 2019-04-16 | 深圳壹账通智能科技有限公司 | 交换金融数据的方法、装置、计算机设备和存储介质 |
CN109582301A (zh) * | 2018-12-03 | 2019-04-05 | 深圳前海微众银行股份有限公司 | 基于任务调度系统的业务处理方法、装置、设备及介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111107137A (zh) * | 2019-12-06 | 2020-05-05 | 携程旅游信息技术(上海)有限公司 | 通信数据同步及处理方法和系统 |
CN111917659A (zh) * | 2020-07-23 | 2020-11-10 | 上海聚音信息科技有限公司 | 并发数据传输方法、系统、装置及计算机可读存储介质 |
CN112347179A (zh) * | 2020-11-30 | 2021-02-09 | 中国农业银行股份有限公司 | 一种基于Excel定制模板的大数据导出方法和装置 |
CN112653757A (zh) * | 2020-12-21 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 文件管理系统、方法及设备 |
CN113254534A (zh) * | 2021-06-04 | 2021-08-13 | 四川省明厚天信息技术股份有限公司 | 数据同步方法、装置及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209731A (zh) | 数据同步方法、装置、及存储介质、电子装置 | |
CN107832406B (zh) | 海量日志数据的去重入库方法、装置、设备及存储介质 | |
CN102970158B (zh) | 日志存储与处理的方法及日志服务器 | |
CN105373448B (zh) | 数据库中故障数据的恢复方法和系统 | |
CN105447014B (zh) | 基于binlog的元数据管理方法和用于提供元数据的方法及装置 | |
CN1318974C (zh) | 数据库备份数据的压缩和查询方法 | |
JP2017504879A (ja) | 差分アップデートパッケージの作成方法及び装置、システム差分アップデート方法及び装置 | |
US8880463B2 (en) | Standardized framework for reporting archived legacy system data | |
JP2023501054A (ja) | 圧縮データの部分的ダウンロード | |
CN106547911B (zh) | 一种海量小文件的存取方法和系统 | |
CN109783571A (zh) | 隔离环境的数据处理方法、装置、计算机设备及存储介质 | |
CN106648445B (zh) | 用于网络爬虫的数据存储方法及装置 | |
CN106407442B (zh) | 一种海量文本数据处理方法及装置 | |
WO2022082891A1 (zh) | 大数据采集方法、系统、计算机设备及其存储介质 | |
CN112100148A (zh) | 一种打包日志的增量处理方法 | |
CN113821536B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN112559463A (zh) | 压缩文件处理的方法及装置 | |
CN109325006A (zh) | 一种压缩存储的方法和装置、解压下载的方法和装置 | |
CN109360605A (zh) | 基因组测序数据归档方法、服务器及计算机可读存储介质 | |
CN110209680A (zh) | 基于Hive外部表的数据更新方法、装置、及电子装置 | |
CN106980618B (zh) | 基于MongoDB分布式集群架构的文件存储方法和系统 | |
CN112579350B (zh) | 一种支持nv参数备份还原的方法及系统 | |
CN101667139A (zh) | 基于集合类型对象的服务程序调用方法、装置及系统 | |
CN106033448A (zh) | Html页面压缩方法及装置 | |
CN112131177A (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 |