CN116401282A - 数据处理方法、装置、存储介质及电子设备 - Google Patents
数据处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116401282A CN116401282A CN202310383002.2A CN202310383002A CN116401282A CN 116401282 A CN116401282 A CN 116401282A CN 202310383002 A CN202310383002 A CN 202310383002A CN 116401282 A CN116401282 A CN 116401282A
- Authority
- CN
- China
- Prior art keywords
- data
- calculation
- processing
- type
- execution result
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 107
- 238000012545 processing Methods 0.000 claims abstract description 106
- 238000000034 method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000000265 homogenisation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- 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
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及计算机数据处理领域,具体涉及一种数据处理方法、数据处理装置、存储介质及电子设备。该数据处理方法应用于实时处理引擎Spark,包括:实时接收数据计算请求;其中,所述数据计算请求包括数据标识列表、数据计算类型和策略处理类型;根据所述数据标识列表,从数据库中获取初始数据;按照所述计算类型,对所述初始数据进行交并集计算得到目标数据;基于所述目标数据,按照所述策略处理类型进行策略执行得到执行结果,并返回所述执行结果。本公开提供的数据处理方法能够提高数据处理的实时性。
Description
技术领域
本公开涉及计算机数据处理领域,具体涉及一种数据处理方法、数据处理装置、存储介质及电子设备。
背景技术
人群数据也可以称为人群画像,是通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后,抽象模拟出的一种调查分析报告,或用户信息标签。基于人群数据,可以围绕产品进行人群细分,确定产品的核心人群,从而有助于确定产品定位,优化产品的功能点,同时,也可以帮助企业进行市场洞察、预估市场规模,从而辅助制定阶段性目标,指导重大决策;更有助于避免同质化,进行个性化营销。
现有的人群数据数据量较大,在计算时存在无法实时处理、存储和计算上压力较大、复杂度较高以及数据计算的结果需要进行再次存储等诸多问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据处理方法、数据处理装置、存储介质及电子设备,旨在提高数据处理的实时性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一方面,提供了一种数据处理方法,应用于实时处理引擎Spark,包括:实时接收数据计算请求;其中,所述数据计算请求包括数据标识列表、数据计算类型和策略处理类型;根据所述数据标识列表,从数据库中获取初始数据;按照所述计算类型,对所述初始数据进行交并集计算得到目标数据;基于所述目标数据,按照所述策略处理类型进行策略执行得到执行结果,并返回所述执行结果。
根据本公开的一些实施例,基于前述方案,所述实时接收数据计算请求,包括:实时接收数据计算管理端通过流处理平台KAFKA发送的所述数据计算请求。
根据本公开的一些实施例,基于前述方案,所述根据所述数据标识列表,从数据库中获取初始数据,包括:根据所述数据标识列表,通过分布式文件系统HDFS的地址获取所述初始数据。
根据本公开的一些实施例,基于前述方案,所述根据所述数据标识列表,从数据库中获取初始数据,包括:根据所述数据标识列表,利用数据仓库工具HIVE通过结构化查询语言SQL语句获取所述初始数据。
根据本公开的一些实施例,基于前述方案,所述计算类型包括并集、交集、差集、全量更新以及增量更新中的一种或多种。
根据本公开的一些实施例,基于前述方案,所述对所述初始数据进行交并集计算得到目标数据,包括:采用弹性分布式数据集RDD命令或者结构化查询语言SQL语句对所述初始数据进行交并集计算,得到所述目标数据。
根据本公开的一些实施例,基于前述方案,所述方法还包括:在所述策略处理类型为生成新数据时,所述执行结果为新数据标识地址;在所述策略处理类型为远程字典服务REDIS更新时,所述执行结果为REDIS处理成功数目;在所述策略处理类型为流处理平台KAFKA消息队列下发时,所述执行结果为消息对下下发消息数目。
根据本公开实施例的第二方面,提供了一种数据处理装置,应用于实时处理引擎Spark,包括:接收模块,用于实时接收数据计算请求;其中,所述数据计算请求包括数据标识列表、数据计算类型和策略处理类型;获取模块,用于根据所述数据标识列表,从分布式文件系统HDFS中获取初始数据;计算模块,用于按照所述计算类型,对所述初始数据进行交并集计算得到目标数据;执行模块,用于基于所述目标数据,按照所述策略处理类型进行策略执行得到执行结果,并返回所述执行结果。
根据本公开实施例的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中的数据处理方法。
根据本公开实施例的第四方面,提供了一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中的数据处理方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开的一些实施例所提供的技术方案中,该数据处理方法应用于实时处理引擎Spark中,一方面,可以借助Spark实时流处理的特性实时处理数据计算请求,进而提高了数据处理的速度,提高数据计算的实时性;另一方面,可以继续依托Spark集群的并行计算能力进行后续的逻辑计算以得到执行结果;再一方面,依靠HDFS进行数据存储,基于分布式的方式进行存储,不存在单点问题,且读取数据时可以并行读取。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出本公开示例性实施例中一种数据处理方法的流程示意图;
图2示意性示出本公开示例性实施例中一种数据处理方法的系统原理示意图;
图3示意性示出本公开示例性实施例中一种数据处理装置的组成示意图;
图4示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图;
图5示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
现有技术中,可以通过标签选择进行数据圈选,也可以在数据市场中选择公共的优质数据模型,还可以通过文件上传维护企业自身的数据画像。
随着业务的不断发展,还存在一些业务场景,需要将上述数据进行简单计算,进而得到新的融合数据,如多个数据的交集或并集、两个数据的差集等,比如将企业自身客户的数据与标签数据进行交集计算得到更定制化的面向该企业的标签数据。
更进一步的,当企业针对某个数据进行个性化营销时,数据是在实时变化的,为了保障个性化营销的实时性,需要对实时变化的数据在业务系统进行相应的更新操作,如在营销系统中增加数据中新增的用户并删除更新后不存在的用户,考虑到业务系统操作具备一定复杂性且数据更新的变化频率较低,所以需要进行两次数据计算得到新增的用户数据和失效的用户数据,便于后续的业务操作。
在进行数据计算时,首先依托数据的存储介质进行计算,若数据依托文件进行存储,则并集计算时就是将两个数据文件进行合并;交集和差集计算时需要将两个数据文件进行比对,当数据文件较小时,可以将其读入到内存中借助哈希表进行比对,但是当文件较大时,由于内存有限,就需要利用化整为零的思想,将文件分为较小的多个文件,再将其读入到内存中进行一一比对。
若数据依托MYSQL进行存储,当进行并集计算时即查询两个数据对应的数据,进行交集和差集计算时,若数据较小,可以利用SQL语句进行JOIN计算,若数据较大,利用SQL语句进行JOIN计算可能会造成系统CPU超标且数据较慢,大数据场景不建议采用MYSQL来进行计算且扩展性较差。
若数据依托ClickHouse进行存储,当进行并集计算时即查询两个数据对应的数据,进行交集和差集计算时,若数据较小,可以利用SQL语句进行JOIN计算,若数据较大,每次计算用户数据时,都需要在ClickHouse中存储一份bitmap信息,计算数据交集和差集时,直接根据数据的bitmap进行计算,根据结果数据生成新的数据信息,生成bitmap时依赖用户账号为唯一整型数字或有对应的用户唯一整型ID。
但目前的数据处理方法还存在诸多问题如下:
1)由于数据量较大,处理速度较慢,无法进行实时处理;基于文件进行处理,存在诸多限制,首先文件存储存在单点问题,文件数据容易丢失,然后在读取文件、划分文件和比对文件时并行化难度较大,会导致处理速度较慢的问题。
2)不满足于大数据场景,如单个数据在千万量级,在存储和计算上存在较大压力;当单个数据在千万量级、数据个数在万级别时,存储压力和引擎计算压力会导致大部分存储中间件不适用,如MYSQL、ElasticSearch等。
3)由于数据计算属于耗时较高的逻辑处理,在用户提交数据计算请求后,系统内部会进行异步处理,系统内部会搭建一套调度系统来执行相关计算逻辑,复杂度较高。
4)数据计算的结果需要进行再次存储,但是在某些场景,计算结果若是能直接进行后续的逻辑处理,是可以避免存储,减少存储资源的。
因此,针对现有技术中存在的诸多缺陷,本公开提供了一种数据处理方法,旨在解决上述技术问题中的一个或多个技术问题。
以下对本公开实施例的技术方案的实现细节进行详细阐述。
图1示意性示出本公开示例性实施例中一种数据处理方法的流程示意图。如图1所示,该数据处理方法包括步骤S101至步骤S104:
步骤S101,实时接收数据计算请求;其中,所述数据计算请求包括数据标识列表、数据计算类型和策略处理类型;
步骤S102,根据所述数据标识列表,从数据库中获取初始数据;
步骤S103,按照所述计算类型,对所述初始数据进行交并集计算得到目标数据;
步骤S104,基于所述目标数据,按照所述策略处理类型进行策略执行得到执行结果,并返回所述执行结果。
在本公开的一些实施例所提供的技术方案中,该数据处理方法应用于实时处理引擎Spark中,一方面,可以借助Spark实时流处理的特性实时处理数据计算请求,进而提高了数据处理的速度,提高数据计算的实时性;另一方面,可以继续依托Spark集群的并行计算能力进行后续的逻辑计算以得到执行结果;再一方面,依靠HDFS进行数据存储,基于分布式的方式进行存储,不存在单点问题,且读取数据时可以并行读取。
下面,将结合附图及实施例对本示例实施方式中的数据处理方法的各个步骤进行更详细的说明。
在步骤S101中,实时接收数据计算请求;其中,所述数据计算请求包括数据标识列表、数据计算类型和策略处理类型。
在本公开的一个实施例中,本方案应用于实时处理引擎Spark,实时处理引擎Spark是一个通用的大数据分析引擎,具有高性能、易用和普遍性等特点。借助Spark集群高效的并行计算能力提高数据处理的速度,以及提高数据计算的实时性。
在本公开的一个实施例中,数据计算请求可以由数据计算管理端发送,数据计算管理端用于整合用户需求并发起数据计算请求。请求内容主要包括三个参数,分别为数据标识列表、数据计算类型和策略处理类型,具体内容见表1所示:
表1数据计算请求的请求内容
其中,计算类型可以包括并集、交集、差集、全量更新以及增量更新中的一种或多种。具体而言:
①交集,多个数据进行交集计算;
②并集,多个数据进行并集计算;
③差集,要求crowdIdList仅有两个数据,计算结果为属于crowdIdList[0]且不属于crowdIdList[1]的用户;
④全量更新,要求crowdIdList仅有两个数据,前者为更新后的数据,后者为更新前的数据,仅更新增量数据;
⑤增量更新,要求crowdIdList仅有两个数据,前者为更新后的数据,后者为更新前的数据,不仅更新增量数据,还要删除失效数据。
而策略处理类型例如生成新数据、REDIS更新、流处理平台KAFKA消息队列下发以及其它等等策略处理类型。具体而言:
①生成新数据,即进行新数据存储;
②REDIS(Remote Dictionary Server,远程字典服务)更新,即利用REDISPIPELINE特性,一次网络请求传递多个操作命令,再基于Spark集群分布式特性并行进行REDIS更新;其中,REDIS是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;
③流处理平台KAFKA消息队列下发,基于Spark集群分布式特性并行进行消息下发。
在本公开的一个实施例中,实时接收数据计算管理端发送的数据计算请求,包括:实时接收数据计算管理端通过流处理平台KAFKA发送的所述数据计算请求。
具体地,KAFKA是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。KAFKA是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
这样一来,在用户提交数据计算请求后,借助Spark实时流处理的特性,可以直接将处理请求依托KAFKA或其它消息队列发送到Spark实时处理引擎进行处理,无需再搭建内部调度系统,减少了系统复杂度。
本公开所指的Spark实时流处理包括但不限于Spark Streaming、SparkStructured Streaming,只是技术细节不同,可以完成的功能大体相似。其中,SparkStreaming是一种构建在Spark上的实时计算框架,Structured Streaming是基于SparkSQL引擎而构建的流处理框架。
在步骤S102中,根据所述数据标识列表,从数据库中获取初始数据;
具体而言,本公开提供的方法要求数据依托HDFS(Hadoop Distributed FileSystem,分布式文件系统)进行存储。HDFS被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上,并且能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
Spark实时处理引擎接收到数据计算请求后,会根据请求内容从HDFS获取数据,获取数据可以有两种技术手段,分别为:
根据所述数据标识列表,通过分布式文件系统HDFS的地址获取所述初始数据;或者
根据所述数据标识列表,利用数据仓库工具HIVE通过结构化查询语言SQL语句获取所述初始数据。
需要说明的是,上述两种方式皆可,HDFS地址获取更加快捷,而SQL语句相较于函数API更容易理解和编写,都具有各自的优缺点。
基于上述方法,依靠HDFS进行数据存储,基于分布式的方式进行存储,不存在单点问题,且读取数据时可以并行读取。
需要说明的是,本公开不仅局限于使用HDFS存储,还可以使用Cassandra、HBase以及Amazon S3等数据库进行存储,其中Cassandra是混合型的非关系的数据库,HBase是分布式的、面向列的开源数据库,Amazon S3是一个公开的服务,Web应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档。S3提供一个RESTful API以编程方式实现与该服务的交互。
在本公开的一个实施例中,在获取到数据之后,所有数据都可以存储到一张HIVE表中,利用分区字段来区分不同数据。
基于上述方法,在HDFS的基础上,使用HIVE来作为Spark访问HDFS的中间层,可以使用SQL语句进行逻辑处理,便于数据分析工程师也可以快速参与到逻辑处理开发中来。
在本公开的一个实施例中,获取到数据后可以进行去重处理,使用distinct关键字进行去重,减少重复的数据,进而减少后续的计算内容。
在步骤S103中,按照所述计算类型,对所述初始数据进行交并集计算得到目标数据;
具体地,所述对所述初始数据进行交并集计算得到目标数据,包括:采用弹性分布式数据集RDD命令或者结构化查询语言SQL语句对所述初始数据进行交并集计算,得到所述目标数据。
根据开发人员的需求,可以利用RDD命令或者是SQL语句进行交并集计算,操作具体如表2:
表2交并集计算
其中,rdd N表示第N个数据。table N表示第N个数据HIVE表,获取SQL语句为select user_name from crowd_table where crowd_id=‘crowd_id_N’,crowd_id_N表示第N个数据的数据唯一性标识ID。
在步骤S104中,基于所述目标数据,按照所述策略处理类型进行策略执行得到执行结果,并将所述执行结果实时返回至所述数据计算管理端。
具体而言,在策略处理类型为生成新数据时,执行结果为新数据标识地址,即执行完成后向数据计算管理端返回新数据标识地址。
进行新数据存储,有HDFS和HIVE两种方式:
Rdd.saveAsTextFile(“hdfs://**”)
Insert overwrite table crowd_table partition(crowd_id)
在策略处理类型为远程字典服务REDIS更新时,利用REDIS PIPELINE特性,一次网络请求传递多个操作命令,再基于Spark集群分布式特性并行进行REDIS更新,执行结果为REDIS处理成功数目,执行完成后向数据计算管理端返回REDIS处理成功数目。
在策略处理类型为流处理平台KAFKA消息队列下发时,执行结果为消息对下下发消息数目,即基于Spark集群分布式特性并行进行消息下发,执行完成后向数据计算管理端返回消息对下下发消息数目。
基于上述方法,Spark实时处理引擎在生成新的数据后,可以继续依托Spark集群的并行计算能力进行后续的逻辑计算,如进行REDIS等多种中间件的更新逻辑、通过消息队列下发消息到业务系统进行相应的逻辑处理等,可以不存储新的数据,节约存储资源。
图2示意性示出本公开示例性实施例中一种数据处理方法的系统原理示意图,参考图2所示,整个处理系统包括三个内容,数据计算管理端201、HDFS分布式文件系统202以及Spark实时处理引擎203。
数据处理的具体过程:数据计算管理端201向Spark实时处理引擎203发送数据计算请求;Spark实时处理引擎203从HDFS分布式文件系统202进行数据加载;然后进行数据去重以及数据交并集计算,然后执行后续的逻辑处理,即生成新数据(如人群数据)、REDIS更新以及KAFKA消息队列发送,最后Spark实时处理引擎203将计算结果反馈至数据计算管理端201。
本公开提供的数据处理方法,具有以下的技术效果:
①借助Spark实时流处理的特性可以实时处理数据计算请求,借助Spark集群高效的并行计算能力提高数据处理的速度,提高数据计算的实时性;
②依靠HDFS进行数据存储,基于分布式的方式进行存储,不存在单点问题,且读取数据时可以并行读取;
③借助Spark实时流处理的特性,在用户提交数据计算请求后,可以直接将处理请求依托Kafka或其它消息队列发送到Spark实时处理引擎进行处理,无需再搭建内部调度系统;
④Spark实时处理引擎在生成新的数据后,可以继续依托Spark集群的并行计算能力进行后续的逻辑计算,如进行REDIS等多种中间件的更新逻辑、通过消息队列下发消息到业务系统进行相应的逻辑处理等,可以不存储新的数据,节约存储资源。
图3示意性示出本公开示例性实施例中一种数据处理装置的组成示意图,如图3所示,该数据处理装置300可以包括接收模块301、获取模块302、计算模块303以及执行模块304。其中:
接收模块301,用于实时接收数据计算管理端发送的数据计算请求;其中,所述数据计算请求包括数据标识列表、数据计算类型和策略处理类型;
获取模块302,用于根据所述数据标识列表,从数据库中获取初始数据;
计算模块303,用于按照所述计算类型,对所述初始数据进行交并集计算得到目标数据;
执行模块304,用于基于所述目标数据,按照所述策略处理类型进行策略执行得到执行结果,并将所述执行结果实时返回至所述数据计算管理端。
根据本公开的示例性实施例,所述获取模块302用于实时接收数据计算管理端通过流处理平台KAFKA发送的所述数据计算请求。
根据本公开的示例性实施例,所述获取模块302用于根据所述数据标识列表,通过分布式文件系统HDFS的地址获取所述初始数据。
根据本公开的示例性实施例,所述获取模块302用于根据所述数据标识列表,利用数据仓库工具HIVE通过结构化查询语言SQL语句获取所述初始数据。
根据本公开的示例性实施例,所述计算类型包括并集、交集、差集、全量更新以及增量更新中的一种或多种。
根据本公开的示例性实施例,所述计算模块303用于采用弹性分布式数据集RDD命令或者结构化查询语言SQL语句对所述初始数据进行交并集计算,得到所述目标数据。
根据本公开的示例性实施例,在所述策略处理类型为生成新数据时,所述执行结果为新数据标识地址;在所述策略处理类型为远程字典服务REDIS更新时,所述执行结果为REDIS处理成功数目;在所述策略处理类型为流处理平台KAFKA消息队列下发时,所述执行结果为消息对下下发消息数目。
上述的数据处理装置300中各模块的具体细节已经在对应的数据处理方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的存储介质。图4示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图,如图4所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如手机上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。图5示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。
需要说明的是,图5示出的电子设备的计算机系统500仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(Central Processing Unit,CPU)501,其可以根据存储在只读存储器(Read-Only Memory,ROM)502中的程序或者从存储部分508加载到随机访问存储器(Random Access Memory,RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(Input/Output,I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本公开的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据处理方法,其特征在于,应用于实时处理引擎Spark,包括:
实时接收数据计算请求;其中,所述数据计算请求包括数据标识列表、数据计算类型和策略处理类型;
根据所述数据标识列表,从数据库中获取初始数据;
按照所述计算类型,对所述初始数据进行交并集计算得到目标数据;
基于所述目标数据,按照所述策略处理类型进行策略执行得到执行结果,并返回所述执行结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述实时接收数据计算请求,包括:
实时接收数据计算管理端通过流处理平台KAFKA发送的所述数据计算请求。
3.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述数据标识列表,从数据库中获取初始数据,包括:
根据所述数据标识列表,通过分布式文件系统HDFS的地址获取所述初始数据。
4.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述数据标识列表,从数据库中获取初始数据,包括:
根据所述数据标识列表,利用数据仓库工具HIVE通过结构化查询语言SQL语句获取所述初始数据。
5.根据权利要求1所述的数据处理方法,其特征在于,所述计算类型包括并集、交集、差集、全量更新以及增量更新中的一种或多种。
6.根据权利要求1所述的数据处理方法,其特征在于,所述对所述初始数据进行交并集计算得到目标数据,包括:
采用弹性分布式数据集RDD命令或者结构化查询语言SQL语句对所述初始数据进行交并集计算,得到所述目标数据。
7.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
在所述策略处理类型为生成新数据时,所述执行结果为新数据标识地址;
在所述策略处理类型为远程字典服务REDIS更新时,所述执行结果为REDIS处理成功数目;
在所述策略处理类型为流处理平台KAFKA消息队列下发时,所述执行结果为消息对下下发消息数目。
8.一种数据处理装置,其特征在于,应用于实时处理引擎Spark,包括:
接收模块,用于实时接收数据计算请求;其中,所述数据计算请求包括数据标识列表、数据计算类型和策略处理类型;
获取模块,用于根据所述数据标识列表,从数据库中获取初始数据;
计算模块,用于按照所述计算类型,对所述初始数据进行交并集计算得到目标数据;
执行模块,用于基于所述目标数据,按照所述策略处理类型进行策略执行得到执行结果,并返回所述执行结果。
9.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1至7任一项所述的数据处理方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310383002.2A CN116401282A (zh) | 2023-04-11 | 2023-04-11 | 数据处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310383002.2A CN116401282A (zh) | 2023-04-11 | 2023-04-11 | 数据处理方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116401282A true CN116401282A (zh) | 2023-07-07 |
Family
ID=87017685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310383002.2A Pending CN116401282A (zh) | 2023-04-11 | 2023-04-11 | 数据处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401282A (zh) |
-
2023
- 2023-04-11 CN CN202310383002.2A patent/CN116401282A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110390B1 (en) | Collaboration using shared documents for processing distributed data | |
Younas | Research challenges of big data | |
US10255108B2 (en) | Parallel execution of blockchain transactions | |
US9619491B2 (en) | Streamlined system to restore an analytic model state for training and scoring | |
TWI735545B (zh) | 一種模型的訓練方法和裝置 | |
CN109034988B (zh) | 一种会计分录生成方法和装置 | |
Li et al. | CBMR: An optimized MapReduce for item‐based collaborative filtering recommendation algorithm with empirical analysis | |
US11487736B2 (en) | Blockchain transaction processing systems and methods | |
Silva et al. | Integrating big data into the computing curricula | |
Hashem et al. | An Integrative Modeling of BigData Processing. | |
US11704327B2 (en) | Querying distributed databases | |
CN112817930A (zh) | 一种数据迁移的方法和装置 | |
US20230153300A1 (en) | Building cross table index in relational database | |
CN111984686A (zh) | 一种数据处理的方法和装置 | |
US11727022B2 (en) | Generating a global delta in distributed databases | |
Sirisha et al. | Stock exchange analysis using Hadoop user experience (Hue) | |
CN110858199A (zh) | 一种单据数据分布式计算的方法和装置 | |
CN116401282A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN114357280A (zh) | 一种信息推送方法、装置、电子设备及计算机可读介质 | |
US11977540B2 (en) | Data virtualization in natural language | |
US11841857B2 (en) | Query efficiency using merged columns | |
US11663216B2 (en) | Delta database data provisioning | |
CN113360494B (zh) | 一种宽表数据的生成方法、更新方法和相关装置 | |
US11803568B1 (en) | Replicating changes from a database to a destination and modifying replication capacity | |
CN112783904B (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 |