CN110879812B - 一种电商平台中基于spark的数据同步方法 - Google Patents
一种电商平台中基于spark的数据同步方法 Download PDFInfo
- Publication number
- CN110879812B CN110879812B CN201911138971.1A CN201911138971A CN110879812B CN 110879812 B CN110879812 B CN 110879812B CN 201911138971 A CN201911138971 A CN 201911138971A CN 110879812 B CN110879812 B CN 110879812B
- Authority
- CN
- China
- Prior art keywords
- data
- hive
- hbase
- spark
- opt
- 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.)
- Active
Links
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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
-
- 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
- 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)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种电商平台中基于spark的数据同步方法,属于于数据处理技术领域,Mysql作为电商平台中的关系型数据库的源数据实时产生增量数据,通过ETL工具读取mysql的binlog日志获取增量数据并标注数据存放于hbase中。设置同步规则定时通过spark把标注的数据从hbase同步到hive中。解决电商平台中多个***之间的业务数据同步问题。
Description
技术领域
本发明涉及数据处理技术,尤其涉及一种电商平台中基于spark的数据同步方法。
背景技术
在当前互联网电商平台中必然会涉及多个***,***之间的数据同步尤为重要,各部门对业务数据的需求不同时,比如对数据进行分析或者报表展示,数据需要从当前的业务库迁移到相应的目标库。对于数据分析,通常是通过ETL工具抽取到目标库,但是对于大数据平台数据湖中例如hive对删除操作不友好。
DB2数据库的增量进行增量同步,同步策略过于单一没有弹性伸缩设计,数据同步失败的补救错误不足。
从电商平台到大数据平台数据同步,因为涉及历史数据的更新(或删除),如果选择HIVE作为唯一存储组件,需要启动HIVE事务表机制,但是缺点是HIVE事务表在更新(或删除)操作上性能差,而且无法使用SPARK读取事务表数据做计算;如果选择HBASE作为唯一存储组件,优点是可以利用HBASE更新(或删除),但是缺点是SPARK读取HBASE表数据做计算,其性能远低于HIVE,无法满足汇总计算的时间要求
发明内容
为了解决以上技术问题,本发明提出了一种电商平台中基于spark的数据同步方法,应用于电商平台关系数据库中的业务数据同步到大数据平台中,多用于海量数据的同步,适用于数据准确性较高的***并为后续基于大数据平台做多维度汇总计算提供海量数据。解决电商平台中多个***之间的业务数据同步问题。
本发明可以从电商平台中的业务库例如mysql每天实时产生的增量数据同步到大数据平台中,然后在大数据平台对数据进行加工、萃取、汇总、计算。
本发明的技术方案是:
一种电商平台中基于spark的数据同步方法,由Hbase作为增量表,存中间增量数据,Hive存昨天(包含昨天)同步之前的全量数据,通过SPARK把HBASE库增量数据同步至HIVE库然后在进行业务汇总计算、日结。
进一步的,
涉及组件有MYSQL、NIFI、HBASE、HIVE以及SPARK。
Mysql作为电商平台中的关系型数据库的源数据实时产生增量数据,通过ETL工具读取mysql的binlog日志获取增量数据并标注数据存放于hbase中。设置同步规则定时通过spark把标注的数据从hbase同步到hive中。
设置同步规则定时通过spark把标注的数据从hbase同步到hive中。
具体步骤如下:
1)、获取增量数据;NIFI从MYSQL抽取数据写入HBASE表,并为每条记录增加“OPT_TIME”和“OPT_TYPE”字段;
2)、设置同步规则;Hbase增量数据同步到hive中,如果hive表中涉及的分区有更新需要先truncate该分区在***最新的数据,白天同步近三天的关键数据;晚上同步七天的数据;周末在同步其他数据;
3)、SPARK把HBASE的增量数据同步至HIVE。
进一步的,
“OPT_TIME”表示更新时间,格式为“yyyyMMddHHmmss”;
“OPT_TYPE”表示数据更新类型,包含三种:“INSERT”、“UPDATE”和“DELETE”;
进一步的,
Spark根据“OPT_TIME”字段读取增量数据increDF,并根据“OPT_TYPE”字段把数据分为deleteDF、updateDF和insertDF三种数据集。
进一步的,
从increDF中获取涉及更新的分区partitionLists,Spark读取HIVE分区partitionLists中的数据hiveDF;
根据联合主键把hiveDF中deleteDF、updateDF删掉,然后把hiveDF与updateDF和insertDF合并。
进一步的,TRUNCATE HIVE表分区partitionLists的数据,然后把hiveDF***HIVE中;
最后根据主键把HBASE表中increDF数删除。
该数据同步可以独立运行,不依赖与其他***。
关系型数据库中的数据同步到大数据平台中,通过该***可以将电商平台多个***的数据接入到大数据平台中。
数据同步通过Hbase作为中间存储库,通过设置同步策略调用spark程序,快速高效的同步到大数据平台中。
本发明的有益效果是
电商平台关系数据库中的数据同步更新至大数据平台hive中进行汇总计算,既保证了数据的准确性,同时数据同步的性能和效率也比较高。
附图说明
图1是电商平台数据同步到大数据平台流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
该方法涉及组件有MYSQL、NIFI、HBASE、HIVE以及SPARK。
MYSQL:电商平台业务库。
NIFI:数据抽取和回写。
HBASE:创建增量表,存中间增量数据。
HIVE:存昨天(包含昨天)之前的全量数据。
SPARK:HBASE库增量数据同步至HIVE库。
具体步骤如下:
1、获取增量数据。NIFI从MYSQL抽取数据写入HBASE表,并为每条记录增加“OPT_TIME”和“OPT_TYPE”字段。“OPT_TIME”表示更新时间,格式为“yyyyMMddHHmmss”比如“201910180423”;“OPT_TYPE”表示数据更新类型,包含三种:“INSERT”、“UPDATE”和“DELETE”。
2、设置同步规则。基于当前的方法,Hbase增量数据同步到hive中,如果hive表中涉及的分区有更新需要先truncate该分区在***最新的数据,对于当前业务中延迟提交数据时长发生造成,每次同步hive的分区很多,造成同步的时间过长。设置同步规则,可以白天同步近三天的关键数据。晚上同步七天的数据。周末在业务不忙时同步其他数据保证数据的一致性。
3、SPARK把HBASE的增量数据同步至HIVE。具体方法:Spark根据“OPT_TIME”字段读取增量数据increDF,并根据“OPT_TYPE”字段把数据分为deleteDF、updateDF和insertDF三种数据集。从increDF中获取涉及更新的分区partitionLists,Spark读取HIVE分区partitionLists中的数据hiveDF。根据联合主键把hiveDF中deleteDF、updateDF删掉,然后把hiveDF与updateDF和insertDF合并。TRUNCATE HIVE表分区partitionLists的数据,然后把hiveDF***HIVE中。最后根据主键把HBASE表中increDF数删除。
本发明应用于电商平台关系数据库中的业务数据同步到大数据平台中,多用于海量数据的同步,适用于数据准确性较高的***并为后续基于大数据平台做多维度汇总计算提供海量数据。本***解决上述电商平台中,多个***之间的业务数据同步问题。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (3)
1.一种电商平台中基于spark的数据同步方法,其特征在于,
由HBASE作为增量表,存中间增量数据,HIVE存昨天(包含昨天)同步之前的全量数据,通过SPARK把HBASE库增量数据同步至HIVE库然后在进行业务汇总计算、日结;
具体步骤如下:
1)、获取增量数据;NIFI从MYSQL抽取数据写入HBASE表,并为每条记录增加“OPT_TIME”和“OPT_TYPE”字段;
2)、设置同步规则; HBASE增量数据同步到HIVE中,如果HIVE表中涉及的分区有更新需要先truncate该分区在***最新的数据,白天同步近三天的关键数据;晚上同步七天的数据;周末在同步其他数据;
3)、SPARK把HBASE的增量数据同步至HIVE;
“OPT_TIME”表示更新时间,格式为“yyyyMMddHHmmss”;
“OPT_TYPE”表示数据更新类型,包含三种:“INSERT”、“UPDATE”和“DELETE”;
SPARK根据“OPT_TIME”字段读取增量数据increDF,并根据“OPT_TYPE”字段把数据分为deleteDF、updateDF和insertDF三种数据集;
从increDF中获取涉及更新的分区partitionLists,SPARK读取HIVE分区partitionLists中的数据HIVEDF;
根据联合主键把HIVEDF中deleteDF、updateDF删掉,然后把HIVEDF与updateDF和insertDF合并;
TRUNCATE HIVE表分区partitionLists的数据,然后把HIVEDF***HIVE中;
最后根据主键把HBASE表中increDF数删除。
2.根据权利要求1所述的方法,其特征在于,
Mysql作为电商平台中的关系型数据库的源数据实时产生增量数据,通过ETL工具读取mysql的binlog日志获取增量数据并标注数据存放于HBASE中。
3.根据权利要求2所述的方法,其特征在于,
设置同步规则定时通过SPARK把标注的数据从HBASE同步到HIVE中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911138971.1A CN110879812B (zh) | 2019-11-20 | 2019-11-20 | 一种电商平台中基于spark的数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911138971.1A CN110879812B (zh) | 2019-11-20 | 2019-11-20 | 一种电商平台中基于spark的数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110879812A CN110879812A (zh) | 2020-03-13 |
CN110879812B true CN110879812B (zh) | 2023-06-20 |
Family
ID=69729014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911138971.1A Active CN110879812B (zh) | 2019-11-20 | 2019-11-20 | 一种电商平台中基于spark的数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110879812B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286941B (zh) * | 2020-12-23 | 2021-03-23 | 武汉物易云通网络科技有限公司 | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 |
CN117407445B (zh) * | 2023-10-27 | 2024-06-04 | 上海势航网络科技有限公司 | 一种车联网数据平台数据存储方法、***及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062181A1 (zh) * | 2013-11-04 | 2015-05-07 | 广东电子工业研究院有限公司 | 用于实现多源异构数据资源自动同步的方法 |
CN106021422A (zh) * | 2016-05-13 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种基于关系型数据库形成Hive数据仓库的方法及*** |
CN107330003A (zh) * | 2017-06-12 | 2017-11-07 | 上海藤榕网络科技有限公司 | 数据同步方法、***、存储器及数据同步设备 |
CN110019477A (zh) * | 2017-12-27 | 2019-07-16 | 航天信息股份有限公司 | 一种使用hive备份表进行大数据处理的方法及*** |
-
2019
- 2019-11-20 CN CN201911138971.1A patent/CN110879812B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062181A1 (zh) * | 2013-11-04 | 2015-05-07 | 广东电子工业研究院有限公司 | 用于实现多源异构数据资源自动同步的方法 |
CN106021422A (zh) * | 2016-05-13 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种基于关系型数据库形成Hive数据仓库的方法及*** |
CN107330003A (zh) * | 2017-06-12 | 2017-11-07 | 上海藤榕网络科技有限公司 | 数据同步方法、***、存储器及数据同步设备 |
CN110019477A (zh) * | 2017-12-27 | 2019-07-16 | 航天信息股份有限公司 | 一种使用hive备份表进行大数据处理的方法及*** |
Non-Patent Citations (1)
Title |
---|
岑凯伦 ; 于红岩 ; 杨腾霄 ; .大数据下基于Spark的电商实时推荐***的设计与实现.现代计算机(专业版).2016,(24),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110879812A (zh) | 2020-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10180946B2 (en) | Consistent execution of partial queries in hybrid DBMS | |
CN110879813B (zh) | 一种基于二进制日志解析的MySQL数据库增量同步实现方法 | |
JP7410181B2 (ja) | ハイブリッド・インデックス作成方法、システム、プログラム | |
US9953051B2 (en) | Multi-version concurrency control method in database and database system | |
CN106649378B (zh) | 一种数据同步方法及装置 | |
CN107544984B (zh) | 一种数据处理的方法和装置 | |
US8924365B2 (en) | System and method for range search over distributive storage systems | |
KR100481771B1 (ko) | 필드레벨복사방법 | |
CN107657049B (zh) | 一种基于数据仓库的数据处理方法 | |
CN110647579A (zh) | 数据同步方法及装置、计算机设备与可读介质 | |
CN104899295B (zh) | 一种异构数据源数据关联分析方法 | |
CN102426609A (zh) | 一种基于MapReduce编程架构的索引生成方法和装置 | |
CN110879812B (zh) | 一种电商平台中基于spark的数据同步方法 | |
TW200303464A (en) | Writable file system snapshot with ditto address feature | |
CN110674154A (zh) | 一种基于Spark的对Hive中数据进行***、更新和删除的方法 | |
CN111651519B (zh) | 数据同步方法、数据同步装置、电子设备及存储介质 | |
CN108416043A (zh) | 多平台空间数据融合与同步方法 | |
CN106503214A (zh) | 一种基于Redis内存数据库的复杂规则匹配方法 | |
CN108363791A (zh) | 一种数据库的数据同步方法和装置 | |
CN114138907A (zh) | 数据处理方法、计算机设备、存储介质和计算机程序产品 | |
CN103488710A (zh) | 大数据页中高效存储非定常数据结构 | |
CN115185955A (zh) | 一种数据湖数据处理方法和*** | |
CN114020844A (zh) | 基于配置的数据监听同步方法 | |
CN113094442A (zh) | 全量数据同步方法、装置、设备和介质 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province Applicant after: INSPUR SOFTWARE Co.,Ltd. Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant before: INSPUR SOFTWARE Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |