CN109241184A - 数据同步方法、装置、计算机设备和存储介质 - Google Patents
数据同步方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109241184A CN109241184A CN201810950303.8A CN201810950303A CN109241184A CN 109241184 A CN109241184 A CN 109241184A CN 201810950303 A CN201810950303 A CN 201810950303A CN 109241184 A CN109241184 A CN 109241184A
- Authority
- CN
- China
- Prior art keywords
- data
- hive
- library
- platform
- source
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000001360 synchronised effect Effects 0.000 claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 31
- 238000000605 extraction Methods 0.000 claims description 26
- 238000010276 construction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 230000001965 increasing effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect 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
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及到大数据处理领域,揭示了一种数据同步方法、装置、计算机设备和存储介质,其中方法包括:获取接收到的数据的数据源;根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;将所述目标HIVE库中的数据同步至大数据平台。本申请将所有的数据根据数据来源而进行分类,然后依次将分类后的数据同步到大数据平台,加快了数据同步的效率以及准确性。而且在对所有数据来源的数据采用同样的方式进行规范整理,更有利于减小数据同步时间。
Description
技术领域
本申请涉及到大数据处理领域,特别是涉及到一种数据同步方法、装置、计算机设备和存储介质。
背景技术
随着信息技术的飞速发展,网络的普及化程度越来越高,对应的各用户产生的数据也呈指数增长。目前服务器对用户的数据进行同步时,是首先将所有的数据存储在大数据平台上的数据库中,再根据数据的类型将数据库中对应的数据同步到大数据平台。
大数据平台上的同步功能在同步数据时,会有下游任务对同步任务造成一定的影响,减慢同步数据的时间。
所以提供一种新的数据同步方法是亟需解决的问题。
发明内容
本申请的主要目的为提供一种将数据进行整理后再进行同步的数据同步方法、装置、计算机设备和存储介质。
为了实现上述发明目的,本申请提出一种数据同步方法,包括:
获取接收到的数据的数据源;
根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;
分别将所述目标HIVE库中的数据同步至大数据平台。
进一步地,所述根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里的步骤之后包括:
将所述多个HIVE数据库中的数据按照同样的Sqoop脚本进行规范整理。
进一步地,所述将所述目标HIVE库中的数据同步至大数据平台的步骤包括:
获取到大数据平台的需求信息;
根据所述需求信息,调度所述目标HIVE库的指定数据到大数据平台,以完成对所述指定数据的同步。
进一步地,所述根据需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据同步的步骤之前,包括:
根据大数据平台的需求信息,在所述目标HIVE库中构建HIVE库大数据平台可识别的数据表;
根据所述数据表的抽数模式构建对应的脚本和建表语句;
根据所述脚本和建表语句自动生成调度所述目标HIVE库的指定数据到大数据平台的调度任务。
进一步地,所述根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:
判断所述抽数模式是否为增量抽取;
若是,则分别抽取所述数据表的表结构中携带的表名对应的初始化表和增量表;
将所述初始化表和增量表合并为所述数据表;
将所述数据表形成所述增量抽取对应增量数据的第二脚本和第二建表语句。
进一步地,所述获取接收到的数据的数据源步骤中的所述数据源包括终端设备信息和应用程序信息。
进一步地,所述根据预设的数据源与HIVE库的映射关系,将所述数据存放在与所述数据源对应的HIVE库里的步骤之前,包括:
根据预设的数据源与HIVE库的映射关系,将所述HIVE库以终端设备ID和应用程序ID进行命名。
本申请还提供一种数据同步装置,包括:
获取模块,用于获取接收到的数据的数据源;
存放模块,用于根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;
同步模块,用于将所述目标HIVE库中的数据同步至大数据平台。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的数据同步方法、装置、计算机设备和存储介质,将所有的数据根据数据来源而进行分类,然后依次将分类后的数据同步到大数据平台,加快了数据同步的效率以及准确性。而且在对所有数据来源的数据采用同样的方式进行规范整理,更有利于减小数据同步时间。
附图说明
图1为本申请一实施例的数据同步方法的流程示意图;
图2为本申请一实施例的数据同步方法的流程示意图;
图3为本申请一实施例的上述数据同步方法中的S3步骤的具体流程示意图;
图4为本申请一实施例的上述数据同步方法中的S3步骤的具体流程示意图;
图5为本申请一实施例的上述数据同步方法中的S302步骤的具体流程示意图;
图6为本申请一实施例的上述数据同步方法中的流程示意图;
图7为本申请一实施例的数据同步装置的结构示意框图;
图8为本申请一实施例的数据同步装置的结构示意框图;
图9为本申请一实施例的上述数据同步装置的同步模块的结构示意框图;
图10为本申请一实施例的上述数据同步装置的同步模块的结构示意框图;
图11为本申请一实施例的上述数据同步装置的第二构建单元的结构示意框图;
图12为本申请一实施例的上述数据同步装置的结构示意框图;
图13为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种数据同步方法,包括步骤:
S1、获取接收到的数据的数据源;
S2、根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;
S3、将所述目标HIVE库中的数据同步至大数据平台。
如上述步骤S1所述,该方法所执行依赖的主体是一个服务器,该服务器具有获取外部的数据的接口,该接口包括网络接口和物理接口。数据源是指产生数据的来源。服务器在获取数据源的数据时,先与该数据源通过通信协议建立通信连接。在建立通信连接时,获取数据源的ID。通过读取数据源的ID,来读取与服务器对接的数据源。数据源包括硬件设备比如手机、电脑。
如上述步骤S2所述,HIVE数据库是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。HIVE库在服务器里,即服务器划出一片独立的存储空间,用于存储数据。HIVE库与数据源的映射关系,是HIVE库与数据源一一对应,每一个数据源有且仅一个对应的HIVE库,每个HIVE库只接收一个数据源的数据。目标HIVE库即与数据源对应的HIVE库。在另一具体实施例中,服务器中的HIVE库数量比数据源数量多,便于服务器又获取到其他数据源时,直接将又获取到的数据源与增加的HIVE库建立映射关系。进一步地,以数据源的硬件设备的ID为对应的目标HIVE据库进行命名。
如上述步骤S3所述,在同步数据时,分别将目标HIVE库中的数据加载到大数据平台。目标HIVE库中的多个子数据库分别与数据源建立有对应的关系,在同步的时候,将目标HIVE库中的数据同步到大数据平台,而每个目标HIVE库中的数据是具有一定的规律性的,这样就减小数据同步的查找数据的时间,就非常迅速的同步到大数据平台。
参照图2,在一个实施例中,上述根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里的步骤S2之后包括:
S201、将所述多个HIVE数据库中的数据按照同样的Sqoop脚本进行规范整理。
如上述步骤S201所述,本实施例的HIVE数据库是建立在HIVE数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格,每个表格包含用行或列表示的一个或更多的数据种类。本实施例数据库表格的表结构包括:表名称、库名称、表中包括哪些字段、各字段的描述信息等。Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。所有的HIVE库均使用同样的Sqoop脚本进行规范整理,在每个目标HIVE库中配置预配置的表结构,服务器读取目标HIVE库中的数据,根据预设的脚本指令,将各子数据库中的数据配置到表结构中,将子数据库中的数据进行定义与标记,便于后续在同步至大数据平台时方便查询与调用。规范整理的方法包括:将数据按照同样的顺序规则存放,或根据不同的数据类型添加不同的标记。
参照图3,在一个实施例中,上述将所述目标HIVE库中的数据同步至大数据平台的步骤S3,包括:
S31、获取到大数据平台的需求信息;
S32、根据所述需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据的同步。
如上述步骤S31所述,大数据平台根据用户的不同要求,需要同步不同类型的信息,生成不同的需求信息。服务器访问大数据平台,获取到大数据平台的需求信息。然后将需求信息进行解析成具体的数据信息。
如上述步骤S32所述,服务器解析出需求信息对应的数据信息后,根据Sqoop的脚本规则,生成调用与需求信息对应的数据信息的指令,将目标HIVE库里的指定数据调用到大数据平台的数据库,然后大数据平台将指定的数据同步。
参照图4,在一个实施例中,上述调用HIVE库的指定数据到大数据平台,进行同步的步骤S32之前,包括:
S301、根据大数据平台的需求信息,在所述目标HIVE库中构建大数据平台可识别的数据表;
S302、根据所述数据表的抽数模式构建对应的脚本和建表语句;
S303、根据所述脚本和建表语句自动生成对应的调度所述目标HIVE库的指定数据到大数据平台的调度任务。
如上述步骤S301所述,本实施例通过在目标HIVE库中构建大数据平台可识别的数据表,以便将目标HIVE库中的指定数据同步到数据表中,然后再发送至大数据平台。大数据平台的数据结构为字符串类型,将目标HIVE库中的数据同步至大数据平台后要转化为字符串类型,以提高各种领域数据的容纳性。但目标HIVE库的数据类型有多种定义,比如为字符串、时间、数字、浮点数等,但将时间、数字、浮点数等类型的数据直接传输至大数据平台,某些大数据平台则无法识别,所以要在目标HIVE库中构建大数据平台的数据表,以便做统一的转换处理提高兼容性,以适应大数据平台的数据结构。
如上述步骤S302所述,本实施例的抽数模式表示构建大数据平台的数据表的规范方式,包括全量抽数方式和增量抽数方式。增量抽数只抽取目标HIVE库中对应表名的表中的新增或修改数据,应用范围更广泛,抽取数据更及时。本实施例的全量抽数方式和增量抽数方式所分别对应的脚本自动生成机制不同,建表语句也不同。
如上述步骤S303所述,本实施例全量抽数方式和增量抽数方式所分别对应的脚本自动生成机制不同,建表语句也不同,本实施例全量抽数方式和增量抽数方式所分别与目标HIVE库对应的调度任务也不同。
参照图5,在一个实施例中,上述根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤S302,包括:
S312、判断所述抽数模式是否为增量抽取;
S322、若是,则分别抽取所述数据表的表结构中携带的表名对应的初始化表和增量表;
S332、将所述初始化表和增量表合并为所述数据表;
S342、将所述数据表形成所述增量抽取对应增量数据的第二脚本和第二建表语句。
如上述步骤S312所述,本实施例通过要抽取的数据覆盖范围为某个表名中表数据的部分,且通过数据形成的时间戳或运行日志判断要抽取的部分数据为新增加或新修改的数据内容,则为增量抽取。
如上述步骤S322所述,本实施例的增量抽取中包括首先包括两个任务,一个抽取原始基本数据形成初始化表,另一个任务是抽取新增加或新修改的数据内容形成增量表,根据区分初始化表和增量表,增大数据的应用范围。
如上述步骤S332所述,本实施例在增量抽取的方式中,即生成初始化表和增量表两个任务后,还包括第三个任务,将上述初始化表和增量表进行合并,生成对应的大数据平台可识别的数据表。
如上述步骤S342所述,本实施例的Sqoop数据的增量抽取方式中,任务流程细节不同于全量抽取方式,必然使得增量抽取对应的增量数据的第二脚本和第二建表语句,与全量抽取方式的Sqoop数据对应的第一脚本和第一建表语句有着本实区别。因而,需要根据上述数据表形成增量抽取对应增量数据的第二脚本和第二建表语句。
在一个实施例中,上述获取接收到的数据的数据源步骤中的所述数据源包括终端设备信息和应用程序信息。
本实施例中,终端设备是指电脑、手机、硬盘等硬件。应用程序是指手机或电脑中的软件。每个应用程序生成的数据信息是不一样,对应的同步到大数据平台上时也是分别进行同步的。因此需要将数据各应用程序里的数据进行区分开,对每个应用程序建立不同的子数据库。服务器在获取数据源时,首先读取到终端设备的ID,然后读取应用程序的ID,每个应用程序也都有一个对应的ID。每个数据源都具有唯一的终端设备信息和应用程序信息。因此,终端设备上指定的应用程序是一个数据源。对终端设备上的每个应用程序均设置HIVE库。在这种情况下,同一个应用程序,在不同的终端设备上就是不同的数据源;同一个终端设备上,不同的应用程序也是不同的数据源。
参照图6,在一个实施例中,上述根据预设的数据源与HIVE库的映射关系,将所述数据存放在与所述数据源对应的HIVE库里的步骤S2之前,包括:
S21、根据预设的数据源与HIVE库的映射关系,将所述HIVE库以终端设备ID和应用程序ID进行命名。
在本实施例中,在对HIVE库命名时,以终端设备ID+应用程序ID进行命名。例如,两个用户的手机里均安装了平安集团公司的金管家APP和平安一账通APP。服务器在获取数据源时,首先获取到两个手机发来数据,标记两个手机的ID,手机序列号是IMEI码的俗称,它与每台移动电话机一一对应,而且该码是全世界唯一的。然后分别获取各手机的数据内容,对应的获取到两个手机的数据分别有金管家APP的应用程序ID和平安一账通APP的编号,则一共获取到四个数据源,分别是第一个手机的金管家APP、第一个手机的平安一账通APP、第二个手机的金管家APP和第二个手机的平安一账通APP。然后根据各HIVE库与数据源的映射关系,将各自与数据源对应的HIVE库命名为各自的手机ID号+应用程序ID号。例如,第一个手机的ID号是A0000076B13AED,金管家APP的ID是JGJ6.6.7,则该数据源对应的HIVE库命名为:A0000076B13AED-JGJ6.6.7。然后将数据源产生的数据放入到对应的HIVE库里。
参照图7,本申请实施例中还提供一种数据同步装置,包括:
获取模块1,用于获取接收到的数据的数据源;
存放模块2,用于根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;
同步模块3,用于将所述目标HIVE库中的数据同步至大数据平台。
本实施例中,数据同步装置的主体是一个服务器,该服务器具有获取外部的数据的接口,该接口包括网络接口和物理接口。数据源是指产生数据的来源。服务器在获取数据源的数据时,先与该数据源通过通信协议建立通信连接。在建立通信连接时,获取模块1获取数据源的ID。获取模块1通过读取数据源的ID,来读取与服务器对接的数据源。数据源包括硬件设备比如手机、电脑。
HIVE数据库是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。HIVE库在服务器里,即存放模块2在服务器中划出一片独立的存储空间,用于存储数据。HIVE库与数据源的映射关系,是HIVE库与数据源一一对应,每一个数据源有且仅一个对应的HIVE库,每个HIVE库只接收一个数据源的数据。目标HIVE库即与数源对应的HIVE库。在另一具体实施例中,服务器中的HIVE库数量比数据源数量多,便于服务器又获取到其他数据源时,存放模块2直接将又获取到的数据源与增加的HIVE库建立映射关系。进一步地,以数据源的硬件设备的ID为对应的目标HIVE据库进行命名。
同步模块3在同步数据时,分别将目标HIVE库中的数据加载到大数据平台。目标HIVE库中的多个子数据库分别与数据源建立有对应的关系,在同步的时候同步模块3将目标HIVE库中的数据同步到大数据平台,而每个目标HIVE库中的数据是具有一定的规律性的,这样就减小数据同步的查找数据的时间,就非常迅速的同步到大数据平台。
参照图8,在一个实施例中,上述数据同步装置还包括:
整理模块201,用于将所述多个HIVE数据库中的数据按照同样的Sqoop脚本进行规范整理。
本实施例的HIVE数据库是建立在HIVE数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格,每个表格包含用行或列表示的一个或更多的数据种类。本实施例的数据库表格的表结构包括:表名称、库名称、表中包括哪些字段、各字段的描述信息等。Sqoop是一款开源的工具,主要用于在
Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。所有的HIVE库均使用同样的Sqoop脚本进行规范整理,在每个目标HIVE库中配置预配置的表结构,整理模块201读取目标HIVE库中的数据,根据预设的脚本指令,将各子数据库中的数据配置到表结构中,将子数据库中的数据进行定义与标记,便于后续在同步至大数据平台时方便查询与调用。整理模块201规范整理的方法包括:将数据按照同样的顺序规则存放,或根据不同的数据类型添加不同的标记。
参照图9,在一个实施例中,上述同步模块3包括:
获取单元31,用于获取到大数据平台的需求信息;
同步单元32,用于根据所述需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据的同步。
本实施例中,大数据平台根据用户的不同要求,需要同步不同类型的信息,生成不同的需求信息。获取单元31访问大数据平台,获取到大数据平台的需求信息。然后获取单元31将需求信息进行解析成具体的数据信息。
获取单元31解析出需求信息对应的数据信息后,同步单元32根据Sqoop的脚本规则,生成调用与需求信息对应的数据信息的指令,然后同步单元32将目标HIVE库里的指定数据调用到大数据平台的数据库,然后大数据平台将指定的数据同步。
参照图10,在一个实施例中,上述同步模块3还包括:
第一构建单元301,用于根据大数据平台的需求信息,在所述目标HIVE库中构建大数据平台可识别的数据表;
第二构建单元302,用于根据所述数据表的抽数模式构建对应的脚本和建表语句;
生成单元303,用于根据所述脚本和建表语句自动生成对应的调度所述目标HIVE库的指定数据到大数据平台的调度任务。
本实施例中,通过在目标HIVE库中构建大数据平台可识别的数据表,以便将目标HIVE库中的指定数据同步到数据表中,然后再发送至大数据平台。大数据平台的数据结构为字符串类型,第一构建单元301将目标HIVE库中的数据同步至大数据平台后要转化为字符串类型,以提高各种领域数据的容纳性。但目标HIVE库的数据类型有多种定义,比如为字符串、时间、数字、浮点数等,但将时间、数字、浮点数等类型的数据直接传输至大数据平台,某些大数据平台则无法识别,所以第一构建单元301要在目标HIVE库中构建大数据平台的数据表,以便做统一的转换处理提高兼容性,以适应大数据平台的数据结构。
抽数模式表示构建大数据平台的数据表的规范方式,包括全量抽数方式和增量抽数方式。增量抽数只抽取目标HIVE库中对应表名的表中的新增或修改数据,应用范围更广泛,抽取数据更及时。本实施例的全量抽数方式和增量抽数方式所分别对应的脚本自动生成机制不同,建表语句也不同。因而第二构建单元302根据抽数模式构建对应的脚本和建表语句。
本实施例全量抽数方式和增量抽数方式所分别对应的脚本自动生成机制不同,建表语句也不同,本实施例全量抽数方式和增量抽数方式所分别与目标HIVE库对应的调度任务也不同。然后根据第二构建单元302构建的脚本和建表语句,生成单元303生成对应的调度任务。
参照图11,在一个实施例中,上述第二构建单元302包括:
判断子单元312,用于判断所述抽数模式是否为增量抽取;
抽取子单元322,用于若抽数模块为增量抽取,则分别抽取所述数据表的表结构中携带的表名对应的初始化表和增量表;
合并子单元332,用于将所述初始化表和增量表合并为所述数据表;
形成子单元342,用于将所述数据表形成所述增量抽取对应增量数据的第二脚本和第二建表语句。
本实施例中,判断子单元312通过要抽取的数据覆盖范围为某个表名中表数据的部分,且通过数据形成的时间戳或运行日志判断要抽取的部分数据为新增加或新修改的数据内容,则为增量抽取。增量抽取中包括首先包括两个任务,一个抽取原始基本数据形成初始化表,另一个任务是抽取新增加或新修改的数据内容形成增量表,抽取子单元322根据区分初始化表和增量表,增大数据的应用范围。生成初始化表和增量表两个任务后,还包括第三个任务,合并子单元332将上述初始化表和增量表进行合并,生成对应的大数据平台可识别的数据表。Sqoop数据的增量抽取方式中,任务流程细节不同于全量抽取方式,必然使得增量抽取对应的增量数据的第二脚本和第二建表语句,与全量抽取方式的Sqoop数据对应的第一脚本和第一建表语句有着本实区别。因而,形成子单元342根据上述数据表形成增量抽取对应增量数据的第二脚本和第二建表语句。
在一个实施例中,上述数据源包括终端设备信息和应用程序信息。
本实施例中,终端设备是指电脑、手机、硬盘等硬件。应用程序是指手机或电脑中的软件。每个应用程序生成的数据信息是不一样,对应的同步到大数据平台上时也是分别进行同步的。因此需要将数据各应用程序里的数据进行区分开,对每个应用程序建立不同的子数据库。服务器在获取数据源时,首先读取到终端设备的ID,然后读取应用程序的ID,每个应用程序也都有一个对应的ID。每个数据源都具有唯一的终端设备信息和应用程序信息。因此,终端设备上指定的应用程序是一个数据源。对终端设备上的每个应用程序均设置HIVE库。在这种情况下,同一个应用程序,在不同的终端设备上就是不同的数据源;同一个终端设备上,不同的应用程序也是不同的数据源。
参照图12,在一个实施例中,上述数据同步装置还包括:
命名模块21,用于根据预设的数据源与HIVE库的映射关系,将所述HIVE库以终端设备ID和应用程序ID进行命名。
本实施例中,在对HIVE库命名时,命名模块21以终端设备ID+应用程序ID进行命名。例如,两个用户的手机里均安装了平安集团公司的金管家APP和平安一账通APP。服务器在获取数据源时,首先获取到两个手机发来数据,标记两个手机的ID,手机序列号是IMEI码的俗称,它与每台移动电话机一一对应,而且该码是全世界唯一的。然后分别获取各手机的数据内容,对应的获取到两个手机的数据分别有金管家APP的应用程序ID和平安一账通APP的编号,则一共获取到四个数据源,分别是第一个手机的金管家APP、第一个手机的平安一账通APP、第二个手机的金管家APP和第二个手机的平安一账通APP。然后命名模块21根据各HIVE库与数据源的映射关系,将各自与数据源对应的HIVE库命名为各自的手机ID号+应用程序ID号。例如,第一个手机的ID号是A0000076B13AED,金管家APP的ID是JGJ6.6.7,则命名模块21将该数据源对应的HIVE库命名为:A0000076B13AED-JGJ6.6.7。
参照图13,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储HIVE库等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据同步方法。
上述处理器执行上述数据同步方法的步骤:获取接收到的数据的数据源;根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;将所述目标HIVE库中的数据同步至大数据平台。
在一个实施例中,上述处理器根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里的步骤之后包括:将所述多个HIVE数据库中的数据按照同样的Sqoop脚本进行规范整理。
在一个实施例中,上述处理器将所述目标HIVE库中的数据同步至大数据平台的步骤包括:获取到大数据平台的需求信息;根据所述需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据的同步。
在一个实施例中,上述处理器根据需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据的同步的步骤之前,包括:根据大数据平台的需求信息,在所述目标HIVE库中构建大数据平台可识别的数据表;根据所述数据表的抽数模式构建对应的脚本和建表语句;根据所述脚本和建表语句自动生成调度所述目标HIVE库的指定数据到大数据平台的调度任务。
在一个实施例中,上述处理器根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:判断所述抽数模式是否为增量抽取;若是,则分别抽取所述数据表的表结构中携带的表名对应的初始化表和增量表;将所述初始化表和增量表合并为所述数据表;将所述数据表形成所述增量抽取对应增量数据的第二脚本和第二建表语句。
在一个实施例中,上述处理器获取接收到的数据的数据源步骤中的所述数据源包括终端设备信息和应用程序信息。
在一个实施例中,上述处理器根据预设的数据源与HIVE库的映射关系,将所述数据存放在与所述数据源对应的HIVE库里的步骤之前,包括:
根据预设的数据源与HIVE库的映射关系,将所述HIVE库以终端设备ID和应用程序ID进行命名。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据同步方法,具体为:获取接收到的数据的数据源;根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;将所述目标HIVE库中的数据同步至大数据平台。
在一个实施例中,上述处理器根据预设的数据源与HIVE库的映射关系,将所述数据存放在与多个HIVE库中所述数据源对应的目标HIVE库里的步骤之后包括:将所述多个HIVE数据库中的数据按照同样的Sqoop脚本进行规范整理。
在一个实施例中,上述处理器将所述目标HIVE库中的数据同步至大数据平台的步骤包括:获取到大数据平台的需求信息;根据所述需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据的同步。
在一个实施例中,上述处理器根据需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据的同步的步骤之前,包括:根据大数据平台的需求信息,在所述目标HIVE库中构建大数据平台可识别的数据表;根据所述数据表的抽数模式构建对应的脚本和建表语句;根据所述脚本和建表语句自动生成调度所述目标HIVE库的指定数据到大数据平台的调度任务。
在一个实施例中,上述处理器根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:判断所述抽数模式是否为增量抽取;若是,则分别抽取所述数据表的表结构中携带的表名对应的初始化表和增量表;将所述初始化表和增量表合并为所述数据表;将所述数据表形成所述增量抽取对应增量数据的第二脚本和第二建表语句。
在一个实施例中,上述处理器获取接收到的数据的数据源步骤中的数据源包括终端设备信息和应用程序信息。
在一个实施例中,上述处理器根据预设的数据源与HIVE库的映射关系,将所述数据存放在与所述数据源对应的HIVE库里的步骤之前,包括:
根据预设的数据源与HIVE库的映射关系,将所述HIVE库以终端设备ID和应用程序ID进行命名。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
获取接收到的数据的数据源;
根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;
将所述目标HIVE库中的数据同步至大数据平台。
2.如权利要求1所述的数据同步方法,其特征在于,所述根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里的步骤之后包括:
将所述多个HIVE数据库中的数据按照同样的Sqoop脚本进行规范整理。
3.如权利要求1所述的数据同步方法,其特征在于,所述将所述目标HIVE库中的数据同步至大数据平台的步骤包括:
获取到大数据平台的需求信息;
根据所述需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据的同步。
4.如权利要求3所述的数据同步方法,其特征在于,所述根据需求信息,调度所述目标HIVE库中的指定数据到大数据平台,以完成对所述指定数据的同步的步骤之前,包括:
根据大数据平台的需求信息,在所述目标HIVE库中构建大数据平台可识别的数据表;
根据所述数据表的抽数模式构建对应的脚本和建表语句;
根据所述脚本和建表语句自动生成调度所述目标HIVE库的指定数据到大数据平台的调度任务。
5.如权利要求4所述的数据同步方法,其特征在于,所述根据所述数据表的抽数模式构建对应的脚本和建表语句的步骤,包括:
判断所述抽数模式是否为增量抽取;
若是,则分别抽取所述数据表的表结构中携带的表名对应的初始化表和增量表;
将所述初始化表和增量表合并为所述数据表;
将所述数据表形成所述增量抽取对应增量数据的第二脚本和第二建表语句。
6.如权利要求1所述的数据同步方法,其特征在于,所述获取接收到的数据的数据源步骤中的所述数据源包括终端设备信息和应用程序信息。
7.如权利要求6所述的数据同步方法,其特征在于,所述根据预设的数据源与HIVE库的映射关系,将所述数据存放在与所述数据源对应的HIVE库里的步骤之前,包括:
根据预设的数据源与HIVE库的映射关系,将所述HIVE库以终端设备ID和应用程序ID进行命名。
8.一种数据同步装置,其特征在于,包括:
获取模块,用于获取接收到的数据的数据源;
存放模块,用于根据预设的数据源与HIVE库的映射关系,将所述数据存放在多个HIVE库中与所述数据源对应的目标HIVE库里;
同步模块,用于将所述目标HIVE库中的数据同步至大数据平台。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810950303.8A CN109241184B (zh) | 2018-08-20 | 2018-08-20 | 数据同步方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810950303.8A CN109241184B (zh) | 2018-08-20 | 2018-08-20 | 数据同步方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109241184A true CN109241184A (zh) | 2019-01-18 |
CN109241184B CN109241184B (zh) | 2024-03-15 |
Family
ID=65070878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810950303.8A Active CN109241184B (zh) | 2018-08-20 | 2018-08-20 | 数据同步方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241184B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059134A (zh) * | 2019-03-18 | 2019-07-26 | 深圳市买买提信息科技有限公司 | 一种数据同步至云平台的方法、相关装置和设备 |
CN110457941A (zh) * | 2019-07-15 | 2019-11-15 | 中国平安人寿保险股份有限公司 | 一种公共测试库的管理方法及装置、电子设备 |
CN110850824A (zh) * | 2019-11-12 | 2020-02-28 | 北京矿冶科技集团有限公司 | 一种将分布式控制系统数据采集至Hadoop平台的实现方法 |
CN111107137A (zh) * | 2019-12-06 | 2020-05-05 | 携程旅游信息技术(上海)有限公司 | 通信数据同步及处理方法和系统 |
CN112015790A (zh) * | 2019-05-30 | 2020-12-01 | 北京沃东天骏信息技术有限公司 | 一种数据处理的方法和装置 |
CN113138986A (zh) * | 2021-04-23 | 2021-07-20 | 上海中通吉网络技术有限公司 | 一种数据库分表数据的抽取方法、装置及系统 |
CN113722353A (zh) * | 2021-08-31 | 2021-11-30 | 平安国际智慧城市科技股份有限公司 | 多源数据查询方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243067A (zh) * | 2014-07-07 | 2016-01-13 | 北京明略软件系统有限公司 | 一种实现实时增量同步数据的方法及装置 |
CN107436883A (zh) * | 2016-05-26 | 2017-12-05 | 北京京东尚科信息技术有限公司 | 基于求余的数据抽取的方法、装置及系统 |
CN107545044A (zh) * | 2017-08-15 | 2018-01-05 | 北京微影时代科技有限公司 | 一种数据表建立方法、电子设备及存储介质 |
CN107967316A (zh) * | 2017-11-22 | 2018-04-27 | 平安科技(深圳)有限公司 | 一种数据同步方法、设备及计算机可读存储介质 |
-
2018
- 2018-08-20 CN CN201810950303.8A patent/CN109241184B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243067A (zh) * | 2014-07-07 | 2016-01-13 | 北京明略软件系统有限公司 | 一种实现实时增量同步数据的方法及装置 |
CN107436883A (zh) * | 2016-05-26 | 2017-12-05 | 北京京东尚科信息技术有限公司 | 基于求余的数据抽取的方法、装置及系统 |
CN107545044A (zh) * | 2017-08-15 | 2018-01-05 | 北京微影时代科技有限公司 | 一种数据表建立方法、电子设备及存储介质 |
CN107967316A (zh) * | 2017-11-22 | 2018-04-27 | 平安科技(深圳)有限公司 | 一种数据同步方法、设备及计算机可读存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059134A (zh) * | 2019-03-18 | 2019-07-26 | 深圳市买买提信息科技有限公司 | 一种数据同步至云平台的方法、相关装置和设备 |
CN112015790A (zh) * | 2019-05-30 | 2020-12-01 | 北京沃东天骏信息技术有限公司 | 一种数据处理的方法和装置 |
CN110457941A (zh) * | 2019-07-15 | 2019-11-15 | 中国平安人寿保险股份有限公司 | 一种公共测试库的管理方法及装置、电子设备 |
CN110850824A (zh) * | 2019-11-12 | 2020-02-28 | 北京矿冶科技集团有限公司 | 一种将分布式控制系统数据采集至Hadoop平台的实现方法 |
CN111107137A (zh) * | 2019-12-06 | 2020-05-05 | 携程旅游信息技术(上海)有限公司 | 通信数据同步及处理方法和系统 |
CN113138986A (zh) * | 2021-04-23 | 2021-07-20 | 上海中通吉网络技术有限公司 | 一种数据库分表数据的抽取方法、装置及系统 |
CN113722353A (zh) * | 2021-08-31 | 2021-11-30 | 平安国际智慧城市科技股份有限公司 | 多源数据查询方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109241184B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241184A (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN104133772B (zh) | 一种自动生成测试数据的方法 | |
CN110377336A (zh) | 接口文档生成方法、装置、计算机设备和存储介质 | |
US11256712B2 (en) | Rapid design, development, and reuse of blockchain environment and smart contracts | |
CN102880649A (zh) | 一种个性化信息处理方法和系统 | |
CN101515245A (zh) | 操作日志记录方法及系统 | |
CN108694214A (zh) | 数据报表的生成方法、生成装置、可读介质及电子设备 | |
CN107943945A (zh) | 一种大数据分析开发平台中异构算子管理方法 | |
WO2010123927A2 (en) | Systems, methods and machine readable mediums for defining and executing new commands in a spreadsheet software application | |
CN107632827A (zh) | 应用的安装包的生成方法及装置 | |
US10237694B2 (en) | Geo-classification of users from application log data | |
CN107066246A (zh) | 一种软件开发方法及装置 | |
CN110162464A (zh) | Mcok测试方法及系统、电子设备及可读存储介质 | |
CN108121742A (zh) | 用户分类模型的生成方法及装置 | |
CN110704524A (zh) | 房源录入方法、装置、设备及计算机可读存储介质 | |
CN106557307A (zh) | 业务数据的处理方法及处理系统 | |
CN101789944B (zh) | 多功能电能表通信协议栈的开发系统 | |
CN109903122A (zh) | 房产交易信息处理方法、装置、设备及存储介质 | |
CN116560642A (zh) | 代码生成方法及其装置、电子设备及存储介质 | |
CN107392560A (zh) | 一种基于互联网的Excel表格数据发布采集方法及系统 | |
CN113542390B (zh) | 一种采用内存数据模型的物联网设备管理方法及系统 | |
CN109783159A (zh) | 基于配置信息的应用启动方法和装置 | |
CN109063059A (zh) | 行为日志处理方法、装置及电子设备 | |
CN106095443B (zh) | 一种基于c/c++代码库的api调用模式挖掘方法 | |
CN102123099A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |