CN116303814A - 数仓系统、数据处理方法、装置、介质及设备 - Google Patents

数仓系统、数据处理方法、装置、介质及设备 Download PDF

Info

Publication number
CN116303814A
CN116303814A CN202211660127.7A CN202211660127A CN116303814A CN 116303814 A CN116303814 A CN 116303814A CN 202211660127 A CN202211660127 A CN 202211660127A CN 116303814 A CN116303814 A CN 116303814A
Authority
CN
China
Prior art keywords
data
layer
source
bin
processing
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
Application number
CN202211660127.7A
Other languages
English (en)
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.)
Shandong Energy Chain Holding Co ltd
Original Assignee
Chezhubang Beijing 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 Chezhubang Beijing Technology Co Ltd filed Critical Chezhubang Beijing Technology Co Ltd
Priority to CN202211660127.7A priority Critical patent/CN116303814A/zh
Publication of CN116303814A publication Critical patent/CN116303814A/zh
Pending legal-status Critical Current

Links

Images

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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • 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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数仓系统、处理方法、装置、介质及设备,所述数仓系统包括数据源层、数仓层、数据应用层,其中,所述数据源层,用于接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志中的至少一个数据源获取到源数据;所述数仓层,用于针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;所述数据应用层,用于根据应用需求,将经过所述数仓层的数据进行读取、分析或展示。可见,本申请提供了针对离线场景和实时场景都适用的统一的一体化数仓系统,保证数据的完备性和实时性。

Description

数仓系统、数据处理方法、装置、介质及设备
技术领域
本申请涉及数据处理技术领域,尤其是涉及到一种数仓系统、数据处理方法、装置、介质及设备。
背景技术
数据仓库(简称为“数仓”),顾名思义,是用于存放数据的仓库,它集合了各个业务系统的数据,用于企业进行数据分析、出具报告、业务决策等。相比于数据库,数仓所存储的数据量更庞大,而且与数据库用于做联机事务处理(OLTP)相比,例如交易事件的发生等,数仓主要用于联机分析处理(OLAP),例如出具报表等。
在企业涉及的业务系统越来越多、各业务系统数据量越来越庞大的情况下,如何提供一种实时性、完备性、一体化的数仓系统,是需要解决的一个技术问题。
发明内容
有鉴于此,本申请提供了一种数仓系统、数据处理方法、装置、介质及设备,主要目的在于提供一种实时性、完备性、一体化的数仓系统。
依据本申请的一个方面,提供了一种数仓系统,所述数仓系统包括数据源层、数仓层、数据应用层,其中,所述数据源层,用于接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源获取到源数据;所述数仓层,用于针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;所述数据应用层,用于根据应用需求,将经过所述数仓层的数据进行读取、分析或展示。
依据本申请的一个方面,提供了一种基于数仓系统的数据处理方法,包括:接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源获取到源数据;针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;根据应用需求,将经过所述数仓层的数据进行读取、分析或展示。
依据本申请的一个方面,提供了一种基于数仓系统的离线场景数据处理方法,包括:接入数据源,并将源数据同步到数仓表;采用内存分布式计算引擎进行数据分层处理,其中,对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表;基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
依据本申请的一个方面,提供了一种基于数仓系统的实时场景数据处理方法,包括:接入业务数据库,并将业务数据同步到分布式消息系统的不同主题上;基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表;基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
依据本申请的一个方面,提供了一种基于数仓系统的离线场景数据处理装置,包括:数据同步单元,用于接入数据源,并将源数据同步到数仓表;数据处理单元,用于采用内存分布式计算引擎进行数据分层处理,其中,对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表;数据应用单元,用于基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
依据本申请的一个方面,提供了一种基于数仓系统的实时场景数据处理装置,包括:数据同步单元,用于接入业务数据库,并将业务数据同步到分布式消息系统的不同主题上;数据处理单元,用于基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表;数据应用单元,用于基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
依据本申请的一个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述方法。
依据本申请的一个方面,提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述方法。
借由上述技术方案,本申请提供的一种数仓系统、处理方法、装置、介质及设备,针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理。可见,本申请提供了针对离线场景和实时场景都适用的统一的一体化数仓系统,在实时场景下,可针对数据进行实时性读取或分析,例如实时画像或数据大屏,在离线场景下,可实现数据报表呈现或业务逻辑处理,保证数据的完备性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种数仓系统结构示意图;
图2示出了本申请实施例提供的又一种数仓系统结构示意图;
图3示出了本申请实施例提供的一种数仓系统中数仓层的逻辑示意图;
图4示出了本申请实施例提供的一种基于数仓系统的数据处理方法流程图;
图5示出了本申请实施例提供的一种基于数仓系统的离线处理方法流程图;
图6示出了本申请实施例提供的一种基于数仓系统的实时处理方法流程图;
图7示出了本申请实施例提供的一种基于数仓系统的离线处理装置结构示意图;
图8示出了本申请实施例提供的一种基于数仓系统的实时处理装置结构示意图;
图9示出了本申请实施例提供的一种计算机设备结构示意图;
图10示出了本申请实施例提供的另一种计算机设备结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如前分析的,数仓是用于存放数据的仓库,它集合了各个业务系统的数据,用于企业进行数据分析、出具报告、业务决策等。例如,对于能源数字化企业,可能包括多个业务线(业务系统),例如包括团购加油、智能充电、商业管理等多个业务线,每个业务线涉及各种业务数据以及基础数据,在现有一般的解决方案中,都是针对各个业务线各自构建数据存储方案,导致构建费用成本增加和周期延长,开发效率低下,而且,由于各个业务线的存储方案各自为政,如果对业务线的存储方案进行扩容或改进时,需要逐一扩容或改进,增加人力及时间成本。对此,本申请实施例提出一种实时性、完备性、一体化的数仓系统,通过数据抽取和清洗,将各个业务线的数据整合落地到该数仓系统,规范化数据。
参见图1,示出了本申请实施例提供的一种数仓系统架构示意图。该数仓系统包括数据源层、数仓层、数据应用层,其中,
数据源层,用于接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源获取到源数据;
数仓层,用于针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;
数据应用层,用于根据应用需求,将经过数仓层的数据进行读取、分析或展示。
如图1所示,数据源层包括数据源1、数据源2、……、数据源n,代表不同的数据源,例如,数据源可以是各种数据库,包括但不限于业务数据库、关系数据库(例如Mysql、Oracle等)、日志(例如埋点日志、网关日志、文本日志等)。可见,数仓的数据来自于多个数据源,源数据在不同数据源中的存储方式可能各不相同,要整合成为最终的数据集合,需要通过数仓层,从数据源经过一系列抽取、清洗、转换的过程。
数仓层需要根据需求,将不同数据源的数据进行分层和整合,即数据一般都围绕某一业务主题(topic)进行处理。数仓分层一般是基于业务场景进行的,数仓分层的意义在于,减少重复开发,在数据开发的过程中可以产生中间层,将公共逻辑下沉,减少重复计算;可清晰表达数据结构,每个分层分工明确,方便开发人员理解;方便定位问题,通过分层了解数据血缘关系,在出问题时通过回溯定位问题;简单化复杂问题,将复杂的问题简单化。
本申请实施例中,数仓层进一步可包括原始数据层(ODS)、明细宽表层(CDM)和应用汇总层(ADS)。其中,ODS层,保持和源数据一致,例如可通过增量拉取和全量拉取同步源数据;CDM层,基于不同业务线的不同主题进行数仓的明细宽表建设;ADS层,对不同业务主题间数据表进行汇总(聚合),得到汇总表。
如图1所示的,对于离线场景和实时场景,分别采取不同的数据引擎进行分别处理,从而保证数据处理的实时性和完备性。例如,离线场景为:统计近180天交易的用户数、老客留存率或者复购率等指标,实时场景为:通过实时大屏,实时统计今日流水、今日新客,这种情况下需要秒级更新大屏数据。
在一种实现方式中,对于离线场景,采用内存分布式计算引擎进行数据分层处理。内存分布式计算引擎,在查询速度、易用性和复杂分析等场景中存在很大优势。此实现方式中,通过ODS层,对源数据进行增量拉取和全量拉取,使拉取的数据保持和源数据一致;通过CDM层,针对不同业务线的不同主题的数据进行明细宽表建设;通过ADS层,用于对各主题的明细宽表进行汇总,生成各主题间的汇总表。
在另一种实现方式中,对于实时场景,采用流处理框架计算引擎进行数据分层处理。流处理框架计算引擎,具有可同时支持高吞吐、低延迟、高性能的优势,适合于实时场景。此实现方式中,通过ODS层,读取到流式数据;通过CDM层,对流式数据进行关联,然后将流式数据写入到不同主题的明细宽表中;通过ADS层,对明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表。
参见图2,示出了本申请实施例提供的又一种数仓系统结构示意图。与图1相比,图2中示出了数据源层各个数据源的具体例子、数仓层的计算引擎例子、数据应用层的具体例子,此外,图2示意出了数据管理的具体例子。可以理解,上述例子仅是为了示意性说明,并不构成对本申请实施例的限定。
如图2中,数据源层针对离线场景和实时场景,分别接入不同的数据源,例如,对于离线场景,接入的数据源示意性示出了Mysql、kafka(分布式消息系统)、Log、Oracle,对于实时场景,接入的数据源示意性示出了Binlog(二进制日志)和埋点日志汇聚到kafka。
在数仓层,示意性示出了Spark和Flink,分别用于离线场景和实时场景下进行数据处理。其中,Spark是内存分布式计算引擎,在查询速度、易用性和复杂分析等场景中存在很大优势,Spark支持Spark sql计算框架,本申请实施例主要基于Spark sql计算框架支持离线场景数仓;Flink是流处理框架计算引擎,可以同时支持高吞吐、低延迟、高性能的分布式流式处理框架,Flink还提供了支持状态管理,支持强一致性的数据语义,支持EventTime,WaterMark对消息乱序的处理等高级功能。
数仓层都支持数仓分层,如图2所示,Spark和Flink均可支持数仓层进一步包括原始数据层(ODS)、明细宽表层(CDM)和应用汇总层(ADS),在离线场景下,进一步包括维度表(DIM)。
参见图3,示出了本申请实施例提供的一种数仓系统中数仓层的逻辑示意图。图3中示出了ODS层、CDM层、ADS层,各个数据表的逻辑关系示意图。概况而言,ODS层用于同步源数据,CDM层用于得到明细数据,ADS层用于汇总数据。ODS层,主要是对接数据源,将数据源的数据在ODS层构建表,将数据源中完整的数据拷贝过来,通常,数据源中有几个表数据,在ODS层就会有几个表与之对应,如图3所示,在ODS层,从数据源中同步了两个Table。CDM层,将ODS层数据根据业务主题要求,将数据进行抽取、分析、统计,得到明细宽表,如图3所示,ODS层中两个Table,在CDM层分别细化到两个Table和三个Table。DWS层,主要是对CDM层数据进行聚合统一操作,这一次聚合统计是需要将各个维度的数据都要细化统计,形成一个汇总表,可以理解,汇总表包含了针对某个特定业务主题的所有维度的细化统计结果。如图3所示,CDM层的各个Table汇总成一个Table。
数据应用层,将处理好的数据进行数据分析、或推送到数据库或者ES,进行报表呈现或业务逻辑处理(主要针对离线数据);实时场景主要应用在实时画像或者数据大屏等。如图2所示,数据应用层示意性示出了数据应用需求,包括画像、AI、redis、Mysql、Oracle、es、dws等。
在图2中,还示意出了数据管理逻辑,包括但不限于数据质量、数据字典、数据建模、数据血缘等。
例如,数据质量是指提供数据质量监控,数据质量监控可体现在数仓整个体系中,比如在ODS层,对同步到数仓的表和源表(业务系统的库表)进行数据量级的比较,对关键字段的枚举值进行比较等;在CDM层,比如订单可对某天的流水进行求和,再和源端的业务订单表进行对比;在ADS层,可以对关键性指标配置规则,和上游的CDM层或ODS层进行比较。数仓表的全链路加工中,对各层级表的关键性指标字段进行数据质量,便于及时发现问题、解决问题。因此,在一种实现方式中,数仓层还用于对数据质量进行监控,其中,ODS层,用于对同步到的数据表和业务线的源表进行数据量级的比较或者对关键字段的枚举值进行比较;CDM表,用于对明细宽表中的数据进行求和或平均计算,并将计算结果与业务线的订单表的计算结果进行比较;ADS层,通过对预设关键指标配置规则,根据规则对汇总的数据与原始数据层和明细宽表层的数据进行比较。
例如,数据字典,是对数仓的所有表的一个元数据集合,通过该数据字典,可以看到数据表对应的字段注释、表每日更新时间、表血缘关系(生成该表的前置依赖)、表权限等。因此,在一种实现方式中,数仓层还用于,针对数仓中的各个数据表提供数据字典查询功能,其中,设置元数据集合,通过元数据集合查询数据表的字段注释、表更新时间、表血缘关系、表权限中的至少一项。
另外,本申请实施例的数仓系统可支持存算分离。存算分离,指的是存5储的资源和计算的资源是分开的。存算分离可保证在计算和IO之间做到平衡,
并且利于扩容,例如计算层和存储层可以独立增加减少节点而互不干扰。例如,数仓(spark sql、flink作业等)资源存储在OBS(一种对象存储的服务)中。
存算分离存在于整个数仓体系中,从ODS层—>CDM层—>ADS层。因此,
一种实现方式中,在数仓层中,基于对象存储服务,将存储资源与计算资源0进行分离存储。
综上,本申请实施例提供的数仓系统,针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据
分层处理,由此提供了针对离线场景和实时场景都适用的统一的一体化数仓5系统,在实时场景下,可针对数据进行实时性读取或分析,例如实时画像或数据大屏,在离线场景下,可实现数据报表呈现或业务逻辑处理,保证数据的完备性,通过满足离线场景和实时场景都通用的数仓系统,可将各个业务线的数据进行整合,满足各业务线的离线场景和实时场景下的数据处理需求。
另外,本申请实施例提供的数仓系统至少包括以下三方面优势:0第一,提升计算水平,例如,基于spark的查询效率远远高于mysql或者基于MR的hive,数据运算时长大大缩减,核心数仓宽表加工时长缩短显著;
第二,实时场景数仓满足画像标签等需求,例如通过flink的应用,实现了实时数仓从无到有,由之前的T-1触达提升到实时触达;
第三,降低了费用成本、维护成本,提高开发效率,例如,基于数仓技5术框架,丰富了数仓底层引擎和工具,比如增加数据质量监控、数据字典等
功能,规范数仓开发流程,提高了开发效率。
参见图4,示出了本申请实施例提供的一种基于数仓系统的数据处理方法
流程图,该方法包括如下步骤:
S401:接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源获取到源数据;
S402:针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;
S403:根据应用需求,将经过分层处理的数据进行读取、分析或展示。
在一种实现方式中,所述采用内存分布式计算引擎进行数据分层处理,包括:对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表。
在一种实现方式中,所述采用流处理框架计算引擎进行数据分层处理,包括:基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表。
参见图5,示出了本申请实施例提供的一种基于数仓系统的离线处理方法流程图。该基于数仓系统的离线场景数据处理方法包括如下步骤:
S501:接入数据源,并将源数据同步到数仓表;
S502:采用内存分布式计算引擎进行数据分层处理,其中,对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表;
S503:基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
在一种实现方式中,上述S501可进一步包括如下步骤:
(1)接入业务数据库、关系数据库、埋点日志、网关日志、文本中的至少一个数据源;
(2)在数据源与数仓之间进行数据传递,从而将源数据同步到数仓表;
其中,在数据源与数仓之间进行数据传递包括:借助开源数据同步工具在数据源与数仓之间进行数据传递,或者,通过读取数据源埋点接口在数据源与数仓之间进行数据传递,或,通过加载数据源日志的方式在数据源与数仓之间进行数据传递。
下面以具体实例,对基于数仓系统的离线场景数据处理方法进行示意性说明。
第一步:记入数据源,例如,接入业务数据库Mysql、埋点日志kafka、网关日志log、oracle等;
第二步:通过sqoop(开源同步工具)将关系型数据库(mysql、oracle)同步到hive表、或者读取埋点接口(例如impala接口)的方式将数据同步到hive表、或者通过日志load(加载数据源日志)方式进行数据同步;其中,通过sqoop将数据从业务库同步到hive表,再通过spark引擎进行查询分析。日志load方式是指,先将服务端生成的日志log通过scp的方式拉到开发服务器,再将数据通过load的方式写入到OBS(一种对象存储服务)中,然后数仓建外表的方式,表位置(location)映射到OBS上进行读取。
第三步:数仓分层处理,主要基于spark进行数仓表的开发,例如,ODS层,保持和源数据一致,分为增量拉取和全量拉取;CDM层,基于不同业务线的不同主题进行数仓宽表建设;ADS层,主题间的聚合表。
第四步:根据需求,通过sqoop将数仓表同步到业务数据库、ES或者同步到报表系统化,进行可视化展示。
例如,对于要分析“近180天交易的用户数”的离线场景应用需求,数据源涉及业务订单库表,首先,在数仓ODS层根据业务订单表结构创建订单表,例如ODS_tb1,然后,通过sqoop将业务订单表增量拉取(增量时间戳为订单支付时间)到数仓表ODS_tb1中,最后,通过spark sql查询ODS_tb1表,限制交易时间,对用户数进行去重等操作。
参见图6,示出了本申请实施例提供的一种基于数仓系统的实时处理方法流程图。该基于数仓系统的实时场景数据处理方法包括如下步骤:
S601:接入业务数据库,并将业务数据同步到分布式消息系统的不同主题上;
S602:基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表;
S603:基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
下面以具体实例,对基于数仓系统的实时场景数据处理方法进行示意性说明。
第一步:通过解析业务数据库binlog,将业务数据同步到kafka的不同topic上。例如,不同的业务库表结构不同,便于下游消费,创建了不同的业务topic,将业务库表和topic一一对应起来。例如,Kafka topic格式为:binlog_ods_db_tb。
第二步:基于flink消费Kafka数据。Flink是流式处理的,实时数仓的架构中也进行了分层操作,分为ODS层、CDM层和ADS层。例如,ODS层为Kafka的binlog数据,CDM为宽表层,通过flink引擎将ODS数据进行关联后,流式写入到Kafka的CDM层topic中,ADS层通过flink消费CDM层的Kafka数据,将结果数据写入到DWS数据库中。
第三步:将加工好的结果数据回写到Kafka或者DWS中。
第四步:数据应用层读取数据,例如,业务系统通过JDBC直连DWS读取数据。业务系统,比如实时画像标签通过JDBS实时读取DWS的数据,进行简单的逻辑加工(比如汇总、求和等聚合操作),对符合实时画像标签需求的数据进行触达(发优惠券或者短信等)。
比如,对于“实时统计今日流水”的实时场景,那么包括如下操作:首先,业务订单表的mysql开启binlog,然后,在Kafka中新建一个订单的topic,如binlog_order;接着,在DWS中创建一个统计今日流水的结果表,如realtime_order;继而,通过DRS(实时同步binlog的工具)实时监听binlog的变化(增删改查),写入到Kafka的binlog_order中;下一步,flink消费Kafka的binlog_order数据,进行流式统计,求和(sum)今日流水,最后,将结果数据实时写入到DWS的realtime_order表中,实时读取。
参见图7,示出了本申请实施例提供的一种基于数仓系统的离线处理装置结构示意图。该基于数仓系统的离线场景数据处理装置,包括:
数据同步单元701,用于接入数据源,并将源数据同步到数仓表;
数据处理单元702,用于采用内存分布式计算引擎进行数据分层处理,其中,对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表;
数据应用单元703,用于基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
在一种实现方式中,所述数据同步单元701具体用于,接入业务数据库、关系数据库、埋点日志、网关日志中的至少一个数据源;在数据源与数仓之间进行数据传递,从而将源数据同步到数仓表;其中,在数据源与数仓之间进行数据传递包括:借助开源数据同步工具在数据源与数仓之间进行数据传递,或者,通过读取数据源埋点接口在数据源与数仓之间进行数据传递,或,通过加载数据源日志的方式在数据源与数仓之间进行数据传递。
参见图8,示出了本申请实施例提供的一种基于数仓系统的实时处理装置结构示意图。该基于数仓系统的实时场景数据处理装置包括:
数据同步单元801,用于接入业务数据库,并将业务数据同步到分布式消息系统的不同主题上;
数据处理单元802,用于基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表;
数据应用单元803,用于基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
上述装置各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法服务端侧的功能或步骤。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法客户端侧的功能或步骤
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
(1)接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源获取到源数据;
(2)针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;
(3)根据应用需求,将经过分层处理的数据进行读取、分析或展示。
或者,
(1)接入数据源,并将源数据同步到数仓表;
(2)采用内存分布式计算引擎进行数据分层处理,其中,对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表;
(3)基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
或者,
(1)接入业务数据库,并将业务数据同步到分布式消息系统的不同主题上;
(2)基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表;
(3)基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
(1)接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源获取到源数据;
(2)针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;
(3)根据应用需求,将经过分层处理的数据进行读取、分析或展示。
或者,
(1)接入数据源,并将源数据同步到数仓表;
(2)采用内存分布式计算引擎进行数据分层处理,其中,对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表;
(3)基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
或者,
(1)接入业务数据库,并将业务数据同步到分布式消息系统的不同主题上;
(2)基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表;
(3)基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,服务端侧以及客户端侧的相关描述,为避免重复,这里不再一一描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (17)

1.一种数仓系统,其特征在于,所述数仓系统包括数据源层、数仓层、数据应用层,其中,
所述数据源层,用于接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源获取到源数据;
所述数仓层,用于针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;
所述数据应用层,用于根据应用需求,将经过所述数仓层的数据进行读取、分析或展示。
2.根据权利要求1所述的数仓系统,其特征在于,所述数仓层进一步包括原始数据层、明细宽表层和应用汇总层;
所述数仓层,对于离线场景,采用内存分布式计算引擎进行数据分层处理,具体包括:通过所述原始数据层,对源数据进行增量拉取和全量拉取,使拉取的数据保持和源数据一致;通过所述明细宽表层,针对不同业务线的不同主题的数据进行明细宽表建设;通过所述应用汇总层,用于对各主题的明细宽表进行汇总,生成各主题间的汇总表。
3.根据权利要求1所述的数仓系统,其特征在于,所述数仓层进一步包括原始数据层、明细宽表层和应用汇总层;
所述数仓层,对于实时场景,采用流处理框架计算引擎进行数据分层处理,具体包括:通过所述原始数据层,读取到流式数据;通过所述明细宽表层,对所述流式数据进行关联,然后将所述流式数据写入到不同主题的明细宽表中;通过所述应用汇总层,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表。
4.根据权利要求2或3所述的数仓系统,其特征在于,所述数仓层还用于对数据质量进行监控,其中,所述原始数据层,用于对同步到的数据表和业务线的源表进行数据量级的比较或者对关键字段的枚举值进行比较;所述明细宽表层,用于对明细宽表中的数据进行求和或平均计算,并将计算结果与业务线的订单表的计算结果进行比较;所述应用汇总层,通过对预设关键指标配置规则,根据所述规则对汇总的数据与所述原始数据层和所述明细宽表层的数据进行比较。
5.根据权利要求1、2或3所述的数仓系统,其特征在于,所述数仓层还用于,针对数仓中的各个数据表提供数据字典查询功能,其中,设置元数据集合,通过所述元数据集合查询数据表的字段注释、表更新时间、表血缘关系、表权限中的至少一项。
6.根据权利要求1、2或3所述的数仓系统,其特征在于,在所述数仓层中,基于对象存储服务,将存储资源与计算资源进行分离存储。
7.一种基于数仓系统的数据处理方法,其特征在于,包括:
接入数据源,包括从业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源获取到源数据;
针对离线场景和实时场景,采取不同的计算引擎进行数据处理,其中,对于离线场景,采用内存分布式计算引擎进行数据分层处理;对于实时场景,采用流处理框架计算引擎进行数据分层处理;
根据应用需求,将经过分层处理的数据进行读取、分析或展示。
8.根据权利要求7所述的方法,其特征在于,所述采用内存分布式计算引擎进行数据分层处理,包括:
对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表。
9.根据权利要求7所述的方法,其特征在于,所述采用流处理框架计算引擎进行数据分层处理,包括:
基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表。
10.一种基于数仓系统的离线场景数据处理方法,其特征在于,包括:
接入数据源,并将源数据同步到数仓表;
采用内存分布式计算引擎进行数据分层处理,其中,对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表;
基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
11.根据权利要求10所述的方法,其特征在于,所述接入数据源,并将源数据同步到数仓表,包括:
接入业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源;
在数据源与数仓之间进行数据传递,从而将源数据同步到数仓表;
其中,在数据源与数仓之间进行数据传递包括:借助开源数据同步工具在数据源与数仓之间进行数据传递,或者,通过读取数据源埋点接口在数据源与数仓之间进行数据传递,或,通过加载数据源日志的方式在数据源与数仓之间进行数据传递。
12.一种基于数仓系统的实时场景数据处理方法,其特征在于,包括:
接入业务数据库,并将业务数据同步到分布式消息系统的不同主题上;
基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表;
基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
13.一种基于数仓系统的离线场景数据处理装置,其特征在于,包括:
数据同步单元,用于接入数据源,并将源数据同步到数仓表;
数据处理单元,用于采用内存分布式计算引擎进行数据分层处理,其中,对所述数仓表进行增量拉取和全量拉取,并针对不同业务线的不同主题的数据进行明细宽表建设,以及,对各主题的明细宽表进行汇总,生成各主题间的汇总表;
数据应用单元,用于基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
14.根据权利要求13所述的装置,其特征在于,所述数据同步单元具体用于,接入业务数据库、关系数据库、埋点日志、网关日志、文本日志中的至少一个数据源;在数据源与数仓之间进行数据传递,从而将源数据同步到数仓表;其中,在数据源与数仓之间进行数据传递包括:借助开源数据同步工具在数据源与数仓之间进行数据传递,或者,通过读取数据源埋点接口在数据源与数仓之间进行数据传递,或,通过加载数据源日志的方式在数据源与数仓之间进行数据传递。
15.一种基于数仓系统的实时场景数据处理装置,其特征在于,包括:
数据同步单元,用于接入业务数据库,并将业务数据同步到分布式消息系统的不同主题上;
数据处理单元,用于基于流处理框架计算引擎处理所述不同主题的业务数据,其中,读取不同主题的业务数据获取到流式数据,将所述流式数据写入到不同主题的明细宽表中,以及,对所述明细宽表层的各个明细宽表中的数据进行汇总,得到汇总表;
数据应用单元,用于基于所述汇总表,根据应用需求对数据进行读取、分析或展示。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求7至12任一项所述方法的步骤。
17.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求7至12任一项所述方法的步骤。
CN202211660127.7A 2022-12-23 2022-12-23 数仓系统、数据处理方法、装置、介质及设备 Pending CN116303814A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211660127.7A CN116303814A (zh) 2022-12-23 2022-12-23 数仓系统、数据处理方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211660127.7A CN116303814A (zh) 2022-12-23 2022-12-23 数仓系统、数据处理方法、装置、介质及设备

Publications (1)

Publication Number Publication Date
CN116303814A true CN116303814A (zh) 2023-06-23

Family

ID=86787582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211660127.7A Pending CN116303814A (zh) 2022-12-23 2022-12-23 数仓系统、数据处理方法、装置、介质及设备

Country Status (1)

Country Link
CN (1) CN116303814A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117390040A (zh) * 2023-12-11 2024-01-12 深圳大道云科技有限公司 基于实时宽表的业务请求处理方法、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117390040A (zh) * 2023-12-11 2024-01-12 深圳大道云科技有限公司 基于实时宽表的业务请求处理方法、设备及存储介质
CN117390040B (zh) * 2023-12-11 2024-03-29 深圳大道云科技有限公司 基于实时宽表的业务请求处理方法、设备及存储介质

Similar Documents

Publication Publication Date Title
US11461356B2 (en) Large scale unstructured database systems
US11983193B2 (en) Data processing method, platform, computer-readable storage medium and electronic device
US10200459B2 (en) Apparatus and method for pipelined event processing in a distributed environment
Plattner A common database approach for OLTP and OLAP using an in-memory column database
US9747127B1 (en) Worldwide distributed job and tasks computational model
US9747128B1 (en) Worldwide distributed file system model
US10216782B2 (en) Processing of updates in a database system using different scenarios
CN109033113B (zh) 数据仓库和数据集市的管理方法及装置
US11210271B1 (en) Distributed data processing framework
CN112148718A (zh) 一种用于城市级数据中台的大数据支撑管理系统
Fikri et al. An adaptive and real-time based architecture for financial data integration
US11841845B2 (en) Data consistency mechanism for hybrid data processing
Hu E-commerce big data computing platform system based on distributed computing logistics information
CN116303814A (zh) 数仓系统、数据处理方法、装置、介质及设备
CN115640300A (zh) 一种大数据管理方法、系统、电子设备和存储介质
WO2023033721A2 (en) Storage engine for hybrid data processing
Rost et al. Analyzing temporal graphs with Gradoop
Suriarachchi et al. Big provenance stream processing for data intensive computations
Hsu Big data analysis and optimization and platform components
CN114691762A (zh) 企业数据智能构建方法
Jiadi et al. Research on Data Center Operation and Maintenance Management Based on Big Data
CN111090676A (zh) 面向流式数据的分布式自动处理方法及系统
US20230066540A1 (en) Hybrid data processing system and method
US20140089013A1 (en) System and method for synchronizing aggregate financial data with detailed data
CN116595071A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240411

Address after: Room 2101, Block B, Platinum Plaza, 5-15 Wenling Road, Laoshan District, Qingdao City, Shandong Province, 266100

Applicant after: Shandong Energy Chain Holding Co.,Ltd.

Country or region after: China

Address before: Room A221, floor 2, building 4, yard 1, yaojiayuan South Road, Chaoyang District, Beijing 100123

Applicant before: CHEZHUBANG (BEIJING) TECHNOLOGY Co.,Ltd.

Country or region before: China