CN116562373A - 数据挖掘方法、装置、设备和介质 - Google Patents

数据挖掘方法、装置、设备和介质 Download PDF

Info

Publication number
CN116562373A
CN116562373A CN202310370052.7A CN202310370052A CN116562373A CN 116562373 A CN116562373 A CN 116562373A CN 202310370052 A CN202310370052 A CN 202310370052A CN 116562373 A CN116562373 A CN 116562373A
Authority
CN
China
Prior art keywords
adopting
function
clause
result
clauses
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
CN202310370052.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.)
Baidu China Co Ltd
Original Assignee
Baidu China 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 Baidu China Co Ltd filed Critical Baidu China Co Ltd
Priority to CN202310370052.7A priority Critical patent/CN116562373A/zh
Publication of CN116562373A publication Critical patent/CN116562373A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/26Discovering frequent patterns
    • 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)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种数据挖掘方法、装置、设备和存储介质,涉及人工智能技术领域,具体涉及大数据、数据分析等技术领域。数据挖掘方法包括:采用第一查询语句,获取原始数据集中目标项的排序结果;采用第二查询语句,调用预设函数,并采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。本公开可以简便地进行数据挖掘处理。

Description

数据挖掘方法、装置、设备和介质
技术领域
本公开涉及人工智能技术领域,具体涉及计算机视觉、深度学习等技术领域,尤其涉及一种数据挖掘方法、装置、设备和介质。
背景技术
频繁模式增长(Frequent Pattern Growth,FP-Growth)算法是一种关联规则挖掘算法。关联规则挖掘算法能够从数据库或其他信息所存储的大量数据中发现频繁项集及其关联性。
相关技术中,主要基于Python等编程语言自行实现FP-Growth算法,再采用FP-Growth算法挖掘频繁项集及其关联性。
发明内容
本公开提供了一种数据挖掘方法、装置、设备和存储介质。
根据本公开的一方面,提供了一种数据挖掘方法,包括:采用第一查询语句,获取原始数据集中目标项的排序结果;采用第二查询语句,调用预设函数,并采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
根据本公开的另一方面,提供了一种数据挖掘装置,包括:排序模块,用于采用第一查询语句,获取原始数据集中目标项的排序结果;挖掘模块,用于采用第二查询语句,调用预设函数,并采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
根据本公开的技术方案,可以简便地进行数据挖掘处理。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开实施例提供的应用场景的示意图;
图3是根据本公开实施例提供的数据挖掘系统的整体架构示意图;
图4是根据本公开实施例提供的SQL模块的执行流程的示意图;
图5是根据本公开实施例提供的UDF模块的执行流程的示意图;
图6是根据本公开第二实施例的示意图;
图7是根据本公开第三实施例的示意图;
图8是用来实现本公开实施例的数据挖掘方法的电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
相关技术中,基于Python等编程语言自行实现FP-Growth算法,为此需要用户具备编程能力,依赖编程语言和框架,编码成本高,实现较为复杂。
为了简便地进行数据挖掘处理,本公开提供如下实施例。
为了更好地理解本公开实施例,对本公开实施例涉及的术语进行说明如下:
数据集,数据的集合。数据集中可以包括至少一条事务(Transaction),每条事务中可以包括至少一个数据项。
以购物场景为例,每个数据项可以为一种类别的商品,例如,牛奶是一个数据项,啤酒是一个数据项,尿布是一个数据项。
假设存在四条事务,分别用T1、T2、T3、T4进行标识,所涉及的多种商品分别用a、b、c、d、e,则数据集中可以记录如表1所示的信息:
表1
事务 商品种类
T1 a、b
T2 a、b、c
T3 b、c、d、e
T4 a、b、c
项集,是指数据项的集合,包含k个数据项的项集称为k项集,如集合{牛奶,啤酒,尿布}是一个三项集。
项集的出现次数,是指数据集中包含该项集的事务的数量,以一项集(即每个数据项)为例,基于表1的数据集,各个一项集(数据项)的出现次数分别为:a的出现次数=3,b的出现次数=4,c的出现次数=3,d的出现次数=1,e的出现次数=1。又例如,以两项集{a,b}为例,该两项集的出现次数=3。
项集的支持度,是指包含该项集的事务个数与事务集中事务总数的比值。以上述的一项集a为例,a的支持度=3/4。
频繁项集,是指出现次数(或支持度)大于等于预设阈值的项集。若出现次数的阈值=2,则上述示例中,a、b、c是频繁一项集。
关联规则,用于表示数据间隐含的关联性。以项集间的关联规则为例,假设两个项集分别用X和Y表示,若X是先决条件,Y是关联结果,则两者的关联规则可以表示为X—>Y。
关联规则的置信度,用于表明先决条件(如X)下发生关联结果(如Y)的概率。基于上述示例,a—>{a,b}的置信度=3/3。
图1是根据本公开第一实施例的示意图,本实施例提供一种数据挖掘方法,该方法包括:
101、采用第一查询语句,获取原始数据集中目标项的排序结果。
102、采用第二查询语句,调用预设函数,并采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
其中,查询语句,是指通用的、基础的、能够对数据集进行操作的语句,例如为结构查询语言(Structured Query Language,SQL)语句。SQL是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户(使用方)提供极大的便利,数据库管理系统可以采用SQL语言提高计算机应用系统的工作质量与效率。
由于查询语句是通用且基础的,不需要使用方了解Python等编程语言,对使用方编码能力要求低,实现更为简便。
为了区分,数据集包括原始数据集和本地数据集,原始数据集是指整体的数据集,如包括100条事务;本地数据集是指对原始数据集分组后的数据集,如将100条事务均分为10组,则每组包括10条事务,每组的10条事务可以组成一个本地数据集。
目标项,是指原始数据集中待处理的数据项,可以根据用户需要,将每个数据项作为一个目标项,或者,可以将满足预设条件的数据项作为目标项。基于表1的示例,每种商品(a、b、c、d、e)可以作为目标项。或者,目标项可以是指频繁一项集,假设出现次数的阈值=2,则a、b、c作为目标项。
以目标项为原始数据集中的每个数据项为例,目标项可以按照出现次数进行降序排列,将降序排列后的数据项作为目标项的排序结果,另外,排序结果可以具体为数组形式,因此,基于上述示例,目标项的排序结果=[b,a,c,d,e]。其中,出现次数相同的两个数据项的排序顺序不限定,如,a和c的出现次数相同,则针对a和c的排序顺序可以是a、c,或者,c、a。
本实施例的数据挖掘方法可以由计算引擎执行,预设函数是指设置在计算引擎内的函数,该预设函数可以是由计算引擎本身自带的,或者,也可以由其他提供方提供,并由用户(使用方)注册到计算引擎内。由其他提供方提供时,该预设函数可以是该提供方提供的用户自定义函数(User Define Function,UDF)。该UDF是指提供方自己编写的函数,用于扩展计算引擎的逻辑功能,具体是提供数据挖掘功能。
使用方可以将提供方提供的UDF注册到计算引擎内,之后调用该UDF进行数据挖掘处理。由于UDF是提供方提供的,用户(使用方)可以调用该UDF,而不需要用户(使用方)自行编码。
使用方调用UDF后,可以采用UDF和目标项的排序结果,对数据集进行数据挖掘处理,以获得数据挖掘结果。
数据挖掘结果具体可以包括:数据集中的频繁项集,还可以包括频繁项集之间的关联规则及其置信度等。
本实施例中,通过第一查询语句获得目标项的排序结果,通过第二查询语句调用预设函数,采用预设函数根据该排序结果获得数据挖掘结果,针对使用方来讲,使用方只需使用查询语句,以及调用已经实现的预设函数就可以进行数据挖掘处理,不需要使用Python等编程语言,因此,可以简便地进行数据挖掘处理,而不需要使用方掌握Python等编程语言。
为了更好地理解本公开实施例,下面对本公开实施例适用的应用场景进行说明。
如图2所示,数据挖掘系统包括:用户终端201和服务器202,用户终端201可以将原始数据集传输给服务器202,服务器202可以采用数据挖掘算法对原始数据集进行数据挖掘处理,以获得数据挖掘结果。数据挖掘算法例如为Apriori算法,或者,FP-Growth算法,图2中以FP-Growth算法为例。数据挖掘结果可以包括:数据集中的频繁项集、频繁项集之间的关联规则及其置信度等,图2中以频繁项集为例。之后,服务器202可以将数据挖掘结果返回给用户终端201进行显示。用户终端例如包括:个人电脑(Personal Computer)、笔记本电脑、移动设备(如手机)等。服务器可以为本地服务器或者云端服务器。用户终端与服务器可以通过有线网络和/或无线网络进行通信。可以理解的是,如果用户终端自身具备数据挖掘能力,也可以在用户终端本地进行数据挖掘处理,获得并显示数据挖掘结果。
以FP-Growth算法为例,相关技术中,FP-Growth算法是基于特定编程语言实现的,例如基于Python语言实现。
以查询语句为SQL语句、预设函数为UDF为例,则本实施例中,主要是基于SQL和UDF(SQL+UDF)实现数据挖掘处理。
如图3所示,数据挖掘系统的整体结构包括:SQL模块301和UDF模块302。SQL模块301采用第一查询语句,获取原始数据集中目标项的排序结果;UDF模块302采用第二查询语句,调用预设函数,并采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果,图3中以数据挖掘结果为频繁项集为例。
针对SQL模块:
其中,目标项的排序结果可以是基于目标项的出现次数获得的。
相应地,所述采用第一查询语句,获取数据集中目标项的排序结果,可以包括:采用所述第一查询语句,获取所述数据集中目标项的出现次数;采用所述第一查询语句,基于所述出现次数对所述目标项进行排序处理,以获得所述目标项的排序结果。
本实施例中,基于目标项的出现次数获得目标项的排序结果,可以简便、高效地获得目标项的排序结果,进而提高数据挖掘的效率。
具体地,所述第一查询语句包括:分组子句和计数子句;所述采用第一查询语句,获取数据集中目标项的出现次数,包括:采用所述分组子句,将所述数据集中同一个目标项分为同一个分组;采用所述计数子句,对每个分组内的目标项进行计数,以获得所述目标项的出现次数。
本实施例中,通过分组子句和计数子句,可以采用SQL子句简便地获得目标项的出现次数,为后续处理提供数据基础。
进一步地,所述第一查询语句还包括:开窗子句、第一拼接子句、排序子句、转换子句、第二拼接子句、匹配子句和数组子句;所述采用所述第一查询语句,基于所述出现次数对所述目标项进行排序处理,以获得所述目标项的排序结果,包括:采用所述开窗子句,基于所述出现次数为所述目标项分配序号,并基于所述目标项的所述序号和所述出现次数构建项头表,其中,所述项头表的每行元素包括每个目标项的序号和出现次数;采用所述第一拼接子句,针对所述项头表的每行元素,将所述序号和所述出行次数采用分隔符进行拼接;采用所述排序子句和所述转换子句,基于所述每行元素包含的序号,对所述每行元素进行排序;采用所述第二拼接子句和所述匹配子句,对排序后的每行元素进行拼接,并在拼接后的每行元素中去除所述序号和所述分隔符,以获得排序后的目标项组成的字符串;采用所述数组子句,将所述字符串转换为数组,将所述数组作为所述目标项的排序结果。
本实施例中,通过SQL语句中的上述子句,可以基于目标项的出现次数获得目标项的排序结果,实现基于SQL语句获得目标项的排序结果,而不需要用户采用Python等编程语言,实现更为简便。
基于SQL语句获得目标项的排序结果的具体过程可以参见图4。
如图4所示,主要包括:
1)使用分组子句(如包含GroupBy函数)和计数子句(如包含count函数),计算原始数据集中每个数据项的出现次数。
其中,若目标项是数据项,则可以将该每个数据项的出现次数作为每个目标项的出现次数;或者,若目标项是频繁一项集,则可以采用SQL语句中的过滤函数,去掉出现次数小于阈值的数据项,以获得目标项及其出现次数。
假设原始数据集中包括A、B、C、D、E这5个数据项,且以目标项是数据项为例,获得的目标项及其出现次数可以如图4所示,其中,目标项用项集表示、出现次数用计数表示,例如,目标项包括A,A的出现次数=100,目标项还包括B,B的出现次数=150,其余类似。
2)使用开窗子句(如包含row_number函数)将每个目标项按照1)中计数降序排列,并分配序号(rn),基于序号和目标项构建项头表,其中,项头表的每行元素包括目标项及其序号。
3)针对每行元素,采用拼接子句(为了区分,此处的拼接子句可以称为第一拼接子句,具体可以包含concat_ws函数),将序号及对应的目标项进行拼接。另外,针对序号可以设定为固定位数,若不足可以采用lpad补足位数,确保后续排序的准确性。例如:concat_ws(':',lpad(cast(rn as string),3,'0'),xxx)。
经过分配序号和拼接后,可以获得如图4所示的项头表,每行元素包括序号(rn)和对应的目标项,如第一行元素为:004:A,其余类似。
4)按照维度字段分组,使用转换子句(如包含collect_set函数)和排序子句(如包含sort_array函数)将同一维度下的目标项按照前缀的rn序号排序。
5)再次使用拼接子句(为了区分,此处的拼接子句可以称为第二拼接子句,具体可以包含concat_ws函数)将4)中结果拼接起来,配合匹配子句(如包含regexp_replace正则匹配函数)去除目标项前冗余的序号(rn)和分隔符(:)。
其中,如图4所示,拼接后可以获得001:C,002:E,003:B,004:A,005:D这样的字符串,去掉序号和分隔符后,可以获得C,E,B,A,D这样的字符串。
6)最后使用数组子句(如包含split函数)将上述的字符串转换为数组。
其中,如图4所示,数组为[C,E,B,A,D],该数组为目标项的排序结果,之后,作为UDF的入参。
针对UDF模块:
获得目标项的排序结果后,可以将该排序结果作为UDF的入参,调用UDF,采用UDF进行数据挖掘处理。
其中,所述第二查询语句可以包括:选择子句;所述采用第二查询语句,调用预设函数,包括:采用所述选择子句,调用所述预设函数。
例如,预设函数用fp_tree表示,选择子句用关键字select标识,则可以采用如下子句调用UDF:select fp_tree(data,[C,E,B,A,D],...),其中,data是原始数据集的信息,[C,E,B,A,D]是目标项的排序结果,入参还可以包括其他参数,如最小支持度、最小置信度、关联规则的数量等。
本实施例中,基于第二查询语句调用预设函数,可以采用查询语句获得数据挖掘结果,编码成本低,实现更为简便高效。
基于预设函数进行数据挖掘处理可以采用分布式系统实现。
相应地,所述预设函数部署在多个计算节点上;
所述采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果,包括:
采用所述多个计算节点上的所述预设函数,根据所述目标项的排序结果,并行对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
本实施例中,通过多个计算节点并行进行数据挖掘处理,可以提高运算速度,提高数据挖掘效率。
进一步地,所述多个计算节点包括:合并节点和多个添加节点;所述预设函数包括:添加函数、合并函数和转换函数,所述添加函数部署在每个添加节点上,所述合并函数和所述转换函数部署在所述合并节点上;所述采用所述多个计算节点上的所述预设函数,根据所述目标项的排序结果,并行对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果,包括:根据所述目标项的排序结果和所述原始数据集,获得多个本地数据集,并将所述多个本地数据集分别分配给所述多个添加节点;并行采用每个添加节点上部署的所述添加函数,基于所述本地数据集,构建所述每个添加节点对应的本地频繁模式树;采用所述合并节点上部署的所述合并函数,对所述每个添加节点对应的本地频繁模式树进行合并处理,以获得最终的频繁模式树;采用所述合并节点上部署的所述转换函数,基于所述最终的频繁模式树获得所述数据挖掘结果。
本实施例中,通过添加节点上的添加函数,可以并行获得多个本地频繁模式树(Frequent Pattern Tree,FP树);通过合并节点上的合并函数可以对多个本地FP树进行合并后得到最终的FP树,并根据合并节点上的转换函数基于最终的FP树获得数据挖掘结果,由于上述的添加函数、合并函数和转换函数都是预设函数,不需要使用方自行编程,可以便于使用方使用,简化使用方的操作,降低编码开销,简便地获得数据挖掘结果。
本实施例以预设函数是UDF为例。
UDF是提供方编写的代码逻辑,其可接受一个或多个参数,实现原有计算引擎不具备的某些特定功能。主要分为三类:
*UDF(User Defined Function,用户定义函数):输入单行输出单行;用户定义函数
*UDAF(User Defined Aggregate Function,用户定义聚合函数):输入多行输出单行,用于多行数据聚合场景;
*UDTF(User Defined Table generating Function,用户定义表生成函数):输入一行输出多行,用于数据拆分场景。
本实施例针对FP-Growth计算逻辑,选用自定义UDAF的方式来实现。
针对该UDAF,如图5所示,多个计算节点(computing node)包括:多个添加节点(如图5的上侧所示的计算节点)和合并节点(如图5的下侧所示的计算节点)。
多个添加节点可以并行计算。每个添加节点可以基于本地数据集构建本地频繁模式树(Frequent Pattern Tree,FP树)。合并节点可以对每个添加节点的到的本地FP树进行合并处理,得到最终的FP树,并基于最终的FP树获得数据挖掘结果。
如图5所示,每个添加节点的输入为本地数据集,例如,第一个添加节点的本地数据集包括:data-11、data-12、data-13...,第n(n为大于等于2的正整数,可设置)个添加节点的本地数据集包括:data-n1、data-n2、data-n3...。
每个添加节点的本地数据集是基于目标项的排序结果和原始数据集获得的,具体地,可以将原始数据集分为n个分组,如原始数据集包括100条事务,若n=10且均分(具体分组策略可设置),则每个分组包括10条事务。在每个分组内,根据目标项的排序结果对该分组内的每条事务进行排序,将排序后的事务组成对应的本地数据集。
例如,基于表1所示的原始数据集,假设要分为2个分组,第一个分组包括前两条事务(T1和T2),后一个分组包括后两条事务(T3和T4),各个数据项(目标项)的排序结果为:[b,a,c,d,e],则根据该排序结果和第一个分组可以得到第一个本地数据集,具体地,针对每条事务,对该事务中的数据项按照排序结果进行排列。类似地,根据该排序结果和第二个分组可以得到第二个本地数据集。第一个本地数据集和第二个本地数据集可以分别如表2、表3所示:
表2
表3
事务 商品种类
T3 b、c、d、e
T4 b、a、c
再结合图5,假设第一个添加节点的本地数据集为表2所示的第一个本地数据集,则data-11={b,a},data-12={b,a,c}。其余类似。
FP-growth算法是一种关联规则挖掘算法,可以发现数据集中的频繁项集以及频繁项集之间的关联规则。
FP-growth算法主要包括:FP树的构建和从FP树中挖掘频繁项集及其关联规则。
每个添加节点可以采用其上的添加函数对本地数据集进行处理,以构建FP树,添加节点获得的FP树可以称为本地FP树。
其中,提供方可以基于FP-growth算法的FP树的构建逻辑进行添加函数的编写,具体内容可以由提供方自行编写或者提供方获取的已有函数。提供方编写或从已有函数中获取添加函数后,可以对其进行封装,之后通过使用方的注册,可以部署到每个添加节点上。
UDAF提供一种数据结构,称为聚合缓冲(AggregationBuffer),每个添加节点构建的本地FP树可以存储在该数据结构内。
合并节点,采用其上的合并函数对每个添加节点得到的本地FP树进行合并处理,以获得最终的FP树;以及,采用其上的转换函数,对最终的FP树进行数据挖掘处理,以获得数据挖掘结果,处理逻辑可以采用FP-growth算法中的基于FP树获得数据挖掘结果的内容。
合并函数和转换函数的具体内容可以由提供方编写,或者是提供方获取的已有函数,提供方编写或从已有函数中获取合并函数和转换函数后,可以对其进行封装,之后通过使用方的注册,可以部署到合并节点上。
如图5所示,合并节点上也可以具有AggregationBuffer,合并节点可以将最终的FP树存储在该合并节点上的AggregationBuffer内。
如图5所示,基于最终的FP树获得数据挖掘结果的转换函数用FPGrowthModel表示,其输入信息包括FP树(具体为最终的FP树),还可以包括其他参数,如最小支持度、最小置信度、规则数量,这些参数可以由用户指定,如调用预设函数的入参中还包括上述参数。FPGrowthModel中集成了数据挖掘结果生成函数和结果展示函数,其中,图5中数据挖掘结果生成函数用generateAssociationRules()表示,结果展示函数用FormOutput()表示。基于数据挖掘结果生成函数,可以基于上述的输入信息获得数据挖掘结果,数据挖掘结果可以包括原始数据集中的频率项集及其关联规则;基于结果展示函数可以将数据挖掘结果以设定格式(如JSON格式)进行展示。
关于提供方提供的UDAF,为方便表达,提供方自定义的该UDAF取名为fp_growth。主要步骤如下:
1)定义fp_growth UDAF的传参校验,包括传参数量、参数类型及取值范围;
2)定义FP-Tree和FPGrowthModel数据结构,也可直接引用部分计算框架中封装好的数据结构实现;
3)定义内置FP-Tree的AggregationBuffer,每个计算节点并行分布式计算,将事务数据集填充进FP-Tree,并两两合并;
4)terminate方法中计算得到最后的AggregationBuffer,转化为FPGrowthModel;
5)结合UDF最小支持度、最小置信度、关联规则数量限制等传参,计算关联规则结果,包含前后序频繁项集、对应支持度、置信度、提升度等。
因此,提供方提供的UDF(具体为UDAF)的入参包括:目标项的排序结果,还可以包括最小支持度、最小置信度以及UDF计算返回的关联规则数量。该UDF返回的数据挖掘结果可以包括:频繁项集、频繁项集之间的关联规则,还可以包括频繁项集的支持度、关联规则的置信度、提升度等。
结合上述的应用场景,本公开还提供一种数据挖掘方法。
图6是根据本公开第二实施例的示意图,本实施例提供一种数据挖掘方法,本实施例以查询语句为SQL语句,预设函数为UDF为例,该方法包括:
601、采用第一SQL语句,获取原始数据集中目标项的排序结果。
其中,结合图4,第一SQL语句具体可以包括:分组子句和计数子句(GroupBy+count)、开窗子句(row_number)、第一拼接子句(concat_ws)、排序子句(sort_array)和转换子句(collect_set)、第二拼接子句(concat_ws)、匹配子句(regexp_replace)和数组子句(split),采用上述的SQL子句,可以获得目标项的排序结果,如图4所示的数值[C,E,B,A,D]。
602、采用第二SQL语句,调用预设的UDF。
其中,第二SQL语句可以具体为选择子句,基于SQL的选择子句,可以调用UDF。其中,UDF是由提供方提供的,可以是计算引擎本身集成的,或者,也可以由使用方注册到计算引擎内。
603、采用多个计算节点上的所述预设的UDF,根据所述目标项的排序结果,并行对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
其中,该数据挖掘方法可以由分布式系统实现,即,预设的UDF可以部署在多个计算节点上,从而可以由多个计算节点进行并行计算,以获得数据挖掘结果。
本实施例中,整体上基于SQL语句和预设的UDF实现,对于使用方来讲,采用SQL语句并调用预设的UDF,获得数据挖掘结果,并不需要使用方采用Python等编程语言进行编码,实现更为简便高效。另外,通过多个计算节点并行执行,可以提高数据挖掘效率。
图7是根据本公开第三实施例的示意图,本实施例提供一种数据挖掘装置,该装置700包括:排序模块701和挖掘模块702。
排序模块701用于采用第一查询语句,获取原始数据集中目标项的排序结果;挖掘模块702用于采用第二查询语句,调用预设函数,并采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
本实施例中,通过第一查询语句获得目标项的排序结果,通过第二查询语句调用预设函数,采用预设函数根据该排序结果获得数据挖掘结果,针对使用方来讲,使用方只需使用查询语句,以及调用已经实现的预设函数就可以进行数据挖掘处理,不需要使用Python等编程语言,因此,可以简便地进行数据挖掘处理,而不需要使用方掌握Python等编程语言。
一些实施例中,所述排序模块701进一步用于:采用所述第一查询语句,获取所述数据集中目标项的出现次数;采用所述第一查询语句,基于所述出现次数对所述目标项进行排序处理,以获得所述目标项的排序结果。
本实施例中,基于目标项的出现次数获得目标项的排序结果,可以简便、高效地获得目标项的排序结果,进而提高数据挖掘的效率。
一些实施例中,所述第一查询语句包括:分组子句和计数子句;所述排序模块701进一步用于:采用所述分组子句,将所述数据集中同一个目标项分为同一个分组;采用所述计数子句,对每个分组内的目标项进行计数,以获得所述目标项的出现次数。
本实施例中,通过分组子句和计数子句,可以采用SQL子句简便地获得目标项的出现次数,为后续处理提供数据基础。
一些实施例中,所述第一查询语句还包括:开窗子句、第一拼接子句、排序子句、转换子句、第二拼接子句、匹配子句和数组子句;所述排序模块701进一步用于:采用所述开窗子句,基于所述出现次数为所述目标项分配序号,并基于所述目标项的所述序号和所述出现次数构建项头表,其中,所述项头表的每行元素包括每个目标项的序号和出现次数;采用所述第一拼接子句,针对所述项头表的每行元素,将所述序号和所述出行次数采用分隔符进行拼接;采用所述排序子句和所述转换子句,基于所述每行元素包含的序号,对所述每行元素进行排序;采用所述第二拼接子句和所述匹配子句,对排序后的每行元素进行拼接,并在拼接后的每行元素中去除所述序号和所述分隔符,以获得排序后的目标项组成的字符串;采用所述数组子句,将所述字符串转换为数组,将所述数组作为所述目标项的排序结果。
本实施例中,通过SQL语句中的上述子句,可以基于目标项的出现次数获得目标项的排序结果,实现基于SQL语句获得目标项的排序结果,而不需要用户采用Python等编程语言,实现更为简便。
一些实施例中,所述第二查询语句包括:选择子句;所述挖掘模块702进一步用于:采用所述选择子句,调用所述预设函数。
本实施例中,基于第二查询语句调用预设函数,可以采用查询语句获得数据挖掘结果,编码成本低,实现更为简便高效。
一些实施例中,所述预设函数部署在多个计算节点上;所述挖掘模块702进一步用于:采用所述多个计算节点上的所述预设函数,根据所述目标项的排序结果,并行对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
本实施例中,通过多个计算节点并行进行数据挖掘处理,可以提高运算速度,提高数据挖掘效率。
一些实施例中,所述多个计算节点包括:合并节点和多个添加节点;所述预设函数包括:添加函数、合并函数和转换函数,所述添加函数部署在每个添加节点上,所述合并函数和所述转换函数部署在所述合并节点上;所述挖掘模块702进一步用于:根据所述目标项的排序结果和所述原始数据集,获得多个本地数据集,并将所述多个本地数据集分别分配给所述多个添加节点;并行采用每个添加节点上部署的所述添加函数,基于所述本地数据集,构建所述每个添加节点对应的本地频繁模式树;采用所述合并节点上部署的所述合并函数,对所述每个添加节点对应的本地频繁模式树进行合并处理,以获得最终的频繁模式树;采用所述合并节点上部署的所述转换函数,基于所述最终的频繁模式树获得所述数据挖掘结果。
本实施例中,通过添加节点上的添加函数,可以并行获得多个本地频繁模式树(Frequent Pattern Tree,FP树);通过合并节点上的合并函数可以对多个本地FP树进行合并后得到最终的FP树,并根据合并节点上的转换函数基于最终的FP树获得数据挖掘结果,由于上述的添加函数、合并函数和转换函数都是预设函数,不需要使用方自行编程,可以便于使用方使用,简化使用方的操作,降低编码开销,简便地获得数据挖掘结果。
可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备800旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备800还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如数据挖掘方法。例如,在一些实施例中,数据挖掘方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的数据挖掘方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据挖掘方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程负载均衡装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (17)

1.一种数据挖掘方法,包括:
采用第一查询语句,获取原始数据集中目标项的排序结果;
采用第二查询语句,调用预设函数,并采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
2.根据权利要求1所述的方法,其中,所述采用第一查询语句,获取数据集中目标项的排序结果,包括:
采用所述第一查询语句,获取所述数据集中目标项的出现次数;
采用所述第一查询语句,基于所述出现次数对所述目标项进行排序处理,以获得所述目标项的排序结果。
3.根据权利要求2所述的方法,其中,
所述第一查询语句包括:分组子句和计数子句;
所述采用第一查询语句,获取数据集中目标项的出现次数,包括:
采用所述分组子句,将所述数据集中同一个目标项分为同一个分组;
采用所述计数子句,对每个分组内的目标项进行计数,以获得所述目标项的出现次数。
4.根据权利要求3所述的方法,其中,
所述第一查询语句还包括:开窗子句、第一拼接子句、排序子句、转换子句、第二拼接子句、匹配子句和数组子句;
所述采用所述第一查询语句,基于所述出现次数对所述目标项进行排序处理,以获得所述目标项的排序结果,包括:
采用所述开窗子句,基于所述出现次数为所述目标项分配序号,并基于所述目标项的所述序号和所述出现次数构建项头表,其中,所述项头表的每行元素包括每个目标项的序号和出现次数;
采用所述第一拼接子句,针对所述项头表的每行元素,将所述序号和所述出行次数采用分隔符进行拼接;
采用所述排序子句和所述转换子句,基于所述每行元素包含的序号,对所述每行元素进行排序;
采用所述第二拼接子句和所述匹配子句,对排序后的每行元素进行拼接,并在拼接后的每行元素中去除所述序号和所述分隔符,以获得排序后的目标项组成的字符串;
采用所述数组子句,将所述字符串转换为数组,将所述数组作为所述目标项的排序结果。
5.根据权利要求1-4任一项所述的方法,其中,
所述第二查询语句包括:选择子句;
所述采用第二查询语句,调用预设函数,包括:
采用所述选择子句,调用所述预设函数。
6.根据权利要求1-4任一项所述的方法,其中,
所述预设函数部署在多个计算节点上;
所述采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果,包括:
采用所述多个计算节点上的所述预设函数,根据所述目标项的排序结果,并行对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
7.根据权利要求6所述的方法,其中,
所述多个计算节点包括:合并节点和多个添加节点;
所述预设函数包括:添加函数、合并函数和转换函数,所述添加函数部署在每个添加节点上,所述合并函数和所述转换函数部署在所述合并节点上;
所述采用所述多个计算节点上的所述预设函数,根据所述目标项的排序结果,并行对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果,包括:
根据所述目标项的排序结果和所述原始数据集,获得多个本地数据集,并将所述多个本地数据集分别分配给所述多个添加节点;
并行采用每个添加节点上部署的所述添加函数,基于所述本地数据集,构建所述每个添加节点对应的本地频繁模式树;
采用所述合并节点上部署的所述合并函数,对所述每个添加节点对应的本地频繁模式树进行合并处理,以获得最终的频繁模式树;
采用所述合并节点上部署的所述转换函数,基于所述最终的频繁模式树获得所述数据挖掘结果。
8.一种数据挖掘装置,包括:
排序模块,用于采用第一查询语句,获取原始数据集中目标项的排序结果;
挖掘模块,用于采用第二查询语句,调用预设函数,并采用所述预设函数根据所述目标项的排序结果对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
9.根据权利要求8所述的装置,其中,所述排序模块进一步用于:
采用所述第一查询语句,获取所述数据集中目标项的出现次数;
采用所述第一查询语句,基于所述出现次数对所述目标项进行排序处理,以获得所述目标项的排序结果。
10.根据权利要求9所述的装置,其中,
所述第一查询语句包括:分组子句和计数子句;
所述排序模块进一步用于:
采用所述分组子句,将所述数据集中同一个目标项分为同一个分组;
采用所述计数子句,对每个分组内的目标项进行计数,以获得所述目标项的出现次数。
11.根据权利要求10所述的装置,其中,
所述第一查询语句还包括:开窗子句、第一拼接子句、排序子句、转换子句、第二拼接子句、匹配子句和数组子句;
所述排序模块进一步用于:
采用所述开窗子句,基于所述出现次数为所述目标项分配序号,并基于所述目标项的所述序号和所述出现次数构建项头表,其中,所述项头表的每行元素包括每个目标项的序号和出现次数;
采用所述第一拼接子句,针对所述项头表的每行元素,将所述序号和所述出行次数采用分隔符进行拼接;
采用所述排序子句和所述转换子句,基于所述每行元素包含的序号,对所述每行元素进行排序;
采用所述第二拼接子句和所述匹配子句,对排序后的每行元素进行拼接,并在拼接后的每行元素中去除所述序号和所述分隔符,以获得排序后的目标项组成的字符串;
采用所述数组子句,将所述字符串转换为数组,将所述数组作为所述目标项的排序结果。
12.根据权利要求8-11任一项所述的装置,其中,
所述第二查询语句包括:选择子句;
所述挖掘模块进一步用于:
采用所述选择子句,调用所述预设函数。
13.根据权利要求8-11任一项所述的装置,其中,
所述预设函数部署在多个计算节点上;
所述挖掘模块进一步用于:
采用所述多个计算节点上的所述预设函数,根据所述目标项的排序结果,并行对所述原始数据集进行数据挖掘处理,以获得数据挖掘结果。
14.根据权利要求13所述的装置,其中,
所述多个计算节点包括:合并节点和多个添加节点;
所述预设函数包括:添加函数、合并函数和转换函数,所述添加函数部署在每个添加节点上,所述合并函数和所述转换函数部署在所述合并节点上;
所述挖掘模块进一步用于:
根据所述目标项的排序结果和所述原始数据集,获得多个本地数据集,并将所述多个本地数据集分别分配给所述多个添加节点;
并行采用每个添加节点上部署的所述添加函数,基于所述本地数据集,构建所述每个添加节点对应的本地频繁模式树;
采用所述合并节点上部署的所述合并函数,对所述每个添加节点对应的本地频繁模式树进行合并处理,以获得最终的频繁模式树;
采用所述合并节点上部署的所述转换函数,基于所述最终的频繁模式树获得所述数据挖掘结果。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
CN202310370052.7A 2023-04-07 2023-04-07 数据挖掘方法、装置、设备和介质 Pending CN116562373A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310370052.7A CN116562373A (zh) 2023-04-07 2023-04-07 数据挖掘方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310370052.7A CN116562373A (zh) 2023-04-07 2023-04-07 数据挖掘方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN116562373A true CN116562373A (zh) 2023-08-08

Family

ID=87490581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310370052.7A Pending CN116562373A (zh) 2023-04-07 2023-04-07 数据挖掘方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN116562373A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033947A (zh) * 2023-10-08 2023-11-10 国网四川省电力公司电力科学研究院 一种隐私保护的云边协同的频繁项目挖掘方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033947A (zh) * 2023-10-08 2023-11-10 国网四川省电力公司电力科学研究院 一种隐私保护的云边协同的频繁项目挖掘方法
CN117033947B (zh) * 2023-10-08 2023-12-22 国网四川省电力公司电力科学研究院 一种隐私保护的云边协同的频繁项目挖掘方法

Similar Documents

Publication Publication Date Title
US20180268000A1 (en) Apparatus and Method for Distributed Query Processing Utilizing Dynamically Generated In-Memory Term Maps
WO2021068547A1 (zh) 日志模板提取方法及装置
US20160328445A1 (en) Data Query Method and Apparatus
US11977567B2 (en) Method of retrieving query, electronic device and medium
CN112818013B (zh) 时序数据库查询优化方法、装置、设备以及存储介质
CN113886434A (zh) 基于数据库集群的查询和存储方法、装置以及设备
CN116562373A (zh) 数据挖掘方法、装置、设备和介质
CN112434188A (zh) 一种异构数据库的数据集成方法、装置及存储介质
WO2020042501A1 (zh) 基金经理社团划分方法、系统、计算机设备和存储介质
CN112528067A (zh) 图数据库的存储方法、读取方法、装置及设备
CN114490723A (zh) 一种统一检索方法、装置、电子设备及存储介质
CN110929218A (zh) 一种差异最小化随机分组方法及系统
CN113297266B (zh) 数据处理方法、装置、设备及计算机存储介质
US6389410B1 (en) Method for minimizing the number of sorts required for a query block containing window functions
CN114491253B (zh) 观测信息处理方法、装置、电子设备及存储介质
CN113239054B (zh) 信息生成方法及相关装置
CN114995719A (zh) 列表渲染方法、装置、设备以及存储介质
CN114650222B (zh) 参数配置方法、装置、电子设备和存储介质
CN112685388B (zh) 数据模型表构建方法、装置、电子设备和计算机可读介质
CN113569027B (zh) 一种文档标题处理方法、装置及电子设备
CN107665241A (zh) 一种实时数据多维度去重方法和装置
CN113343147B (zh) 信息处理方法、装置、设备、介质及程序产品
US20220374603A1 (en) Method of determining location information, electronic device, and storage medium
US20220284307A1 (en) Decision tree native to graph database
CN116204559A (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