CN112597215A - 一种基于Flink平台和并行Apriori算法的数据挖掘方法 - Google Patents

一种基于Flink平台和并行Apriori算法的数据挖掘方法 Download PDF

Info

Publication number
CN112597215A
CN112597215A CN202011591504.7A CN202011591504A CN112597215A CN 112597215 A CN112597215 A CN 112597215A CN 202011591504 A CN202011591504 A CN 202011591504A CN 112597215 A CN112597215 A CN 112597215A
Authority
CN
China
Prior art keywords
item set
frequent
data
item
flink
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
CN202011591504.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.)
Tech Valley Xiamen Information Technology Co ltd
Original Assignee
Tech Valley Xiamen Information 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 Tech Valley Xiamen Information Technology Co ltd filed Critical Tech Valley Xiamen Information Technology Co ltd
Priority to CN202011591504.7A priority Critical patent/CN112597215A/zh
Publication of CN112597215A publication Critical patent/CN112597215A/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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • 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/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于Flink平台和并行Apriori算法的数据挖掘方法,包括如下步骤:S1、频繁1项集的生成;S2、连接操作:利用所述频繁1项集作为输入数据,经过连接操作生成候选项集;S3、映射操作:利用哈希索引树查询所述候选项集是否在所述事务数据中,若在事务数据中,则进行映射操作并输出映射操作结果<项目集,1>;S4、归约操作,得到频繁2项集;S5、迭代:重复步骤S2至S4进入下一次迭代,直到没有输入数据后,得到的频繁k+1项集作为最终结果进行输出。本发明的方法避免了I/O消耗过大和迭代延迟的问题,使得在迭代次数较多和迭代输出结果较大的情况下,数据的挖掘速度得到较大的提高,同时节约计算的时间。

Description

一种基于Flink平台和并行Apriori算法的数据挖掘方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于Flink平台和并行Apriori算法的数据挖掘方法。
背景技术
传统的Apriori算法采用批处理的方式进行迭代,每一次迭代的输入数据都依赖于上一次迭代产生的中间结果,即频繁项集。现有的实现Apriori算法的平台主要是Hadoop平台和Spark平台,但是基于Hadoop平台的Apriori算法存在I/O消耗大的问题,而基于Spark平台的Apriori算法则存在迭代延迟的现象,只有当上一次的迭代完成之后,才能进行新的迭代,两者都存在时间开销较大、数据挖掘速度有待提高的问题。
发明内容
为解决上述问题,本发明提供了一种基于Flink平台和并行Apriori算法的数据挖掘方法。
本发明采用以下技术方案:
一种基于Flink平台和并行Apriori算法的数据挖掘方法,其特征在于:包括如下步骤:
S1、频繁1项集的生成:在Flink平台中,将初始的事务数据转换成项集数据并输入到的MapReduce模型中以生成频繁1项集,并将得到的所有频繁1项集以键值对的形式存储在Flink缓存中;
S2、连接操作:从所述Flink缓存中获取所述频繁1项集作为输入数据,经过连接操作生成候选项集;
S3、映射操作:利用哈希索引树查询所述候选项集是否在所述事务数据中,若在事务数据中,则进行映射操作并输出映射操作结果<项目集,1>;
S4、归约操作:利用归约算子对所述映射操作结果中的项目集进行累加,得到<项目集,总计>,得到频繁2项集;
S5、迭代:若结果大于最小支持度则所述频繁2项集就是最终的频繁项集,否则,将所述频繁2项集作为输入数据,重复步骤S2至S4进入下一次迭代,直到没有输入数据后,得到的频繁k+1项集作为最终结果进行输出。
进一步地,所述事务数据为文本格式,所述数据转换具体为:先以换行符为分隔符对所述事务数据进行切分,再以空白符为分隔符对所述事务数据进行项元切分,从而转换成项集数据。
进一步地,步骤S1中所述频繁1项集的生成具体如下:
S11、MapReduce模型中的所述映射算子根据所述项集数据分别生成对应的<主键,数值>形式的键值对,统计每一项键值对,并将所述键值对传递到所述MapReduce模型中的归约算子中;
S12、所述归约算子对各相同键的键值对进行累加并统计各个项集数据在事务数据中出现的总次数,输出频繁1项集,同时将所述频繁1项集以键值对的形式存储到Flink缓存中。
进一步地,所述键值对<主键,数值>中的数值为1。
进一步地,步骤S5中所述最小支持度为2。
采用上述技术方案后,本发明与背景技术相比,具有如下优点:
本发明使用Flink平台来实现并行Apriori算法,使用MapReduce模型作为计算框架,降低了并行算法的实现复杂度,使得算法在大数据环境下也有良好的适应能力,此外,利用Flink的内存缓存迭代结果和流处理结构避免了I/O消耗过大和迭代延迟的问题,使得在迭代次数较多和迭代输出结果较大的情况下,数据的挖掘速度得到较大的提高,同时节约计算的时间。
附图说明
图1为本发明的方法流程示意图;
图2为本发明的频繁1项集生成流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
如图1所示,一种基于Flink平台和并行Apriori算法的数据挖掘方法,其特征在于:包括如下步骤:
如图2所示,S1、频繁1项集的生成:在Flink平台中,首先从分布式文件系统中获取输入文件,一般是以文本文件的格式输入,将文本中的初始的事务数据先以换行符为分隔符对所述事务数据进行切分,再以空白符为分隔符对所述事务数据进行项元切分,从而转换成项集数据,再所述项集数据输入到的MapReduce模型中以生成频繁1项集,并将得到的所有频繁1项集以键值对的形式存储在Flink缓存中;
步骤S1中所述频繁1项集的生成具体如下:
S11、MapReduce模型中的所述映射算子(Map)根据所述项集数据分别生成对应的<主键,数值>(即<key,value>)形式的键值对,统计每一项键值对,并将所述键值对传递到所述MapReduce模型中的归约算子中;述键值对<主键,数值>中的数值为1;
S12、所述归约算子(Reduce)对各相同键的键值对进行累加并统计各个项集数据在事务数据中出现的总次数,输出频繁1项集,同时将所述频繁1项集以键值对的形式存储到Flink缓存中;
由于Flink的缓存是基于内存的,因此在后续读取输入数据时,可以节省一定的I/O开销;
S2、连接操作:从所述Flink缓存中获取所述频繁1项集作为输入数据,经过连接操作生成候选项集;
S3、映射操作(即Map操作):利用哈希(Hash)索引树查询所述候选项集是否在所述事务数据中,若在事务数据中,则进行映射操作并输出映射操作结果<项目集,1>(即<itemset,1>);
S4、归约操作(即Reduce操作):利用归约算子对所述映射操作结果中的项目集进行累加,得到<项目集,总计>(即<itemset,count>),得到频繁2项集;
这里和Spark不同的是,不必等到此次迭代的所有频繁项集都生成后才开始下一次迭代,根据Flink流处理机制,作为流处理看待时输入数据流是无界的,而基于流处理进行迭代时,得到的部分频繁项集将通过流处理作为输入数据直接送入下一次迭代,从而可以减少时间开销;
S5、迭代:若结果大于最小支持度2时,则所述频繁2项集就是最终的频繁项集,否则,将所述频繁2项集作为输入数据,重复步骤S2至S4进入下一次迭代,直到没有输入数据后,得到的频繁k+1项集作为最终结果进行输出。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (5)

1.一种基于Flink平台和并行Apriori算法的数据挖掘方法,其特征在于:包括如下步骤:
S1、频繁1项集的生成:在Flink平台中,将初始的事务数据转换成项集数据并输入到的MapReduce模型中以生成频繁1项集,并将得到的所有频繁1项集以键值对的形式存储在Flink缓存中;
S2、连接操作:从所述Flink缓存中获取所述频繁1项集作为输入数据,经过连接操作生成候选项集;
S3、映射操作:利用哈希索引树查询所述候选项集是否在所述事务数据中,若在事务数据中,则进行映射操作并输出映射操作结果<项目集,1>;
S4、归约操作:利用归约算子对所述映射操作结果中的项目集进行累加,得到<项目集,总计>,得到频繁2项集;
S5、迭代:若结果大于最小支持度则所述频繁2项集就是最终的频繁项集,否则,将所述频繁2项集作为输入数据,重复步骤S2至S4进入下一次迭代,直到没有输入数据后,得到的频繁k+1项集作为最终结果进行输出。
2.如权利要求1所述的一种基于Flink平台和并行Apriori算法的数据挖掘方法,其特征在于:所述事务数据为文本格式,所述数据转换具体为:先以换行符为分隔符对所述事务数据进行切分,再以空白符为分隔符对所述事务数据进行项元切分,从而转换成项集数据。
3.如权利要求2所述的一种基于Flink平台和并行Apriori算法的数据挖掘方法,其特征在于:步骤S1中所述频繁1项集的生成具体如下:
S11、MapReduce模型中的所述映射算子根据所述项集数据分别生成对应的<主键,数值>形式的键值对,统计每一项键值对,并将所述键值对传递到所述MapReduce模型中的归约算子中;
S12、所述归约算子对各相同键的键值对进行累加并统计各个项集数据在事务数据中出现的总次数,输出频繁1项集,同时将所述频繁1项集以键值对的形式存储到Flink缓存中。
4.如权利要求3所述的一种基于Flink平台和并行Apriori算法的数据挖掘方法,其特征在于:所述键值对<主键,数值>中的数值为1。
5.如权利要求4所述的一种基于Flink平台和并行Apriori算法的数据挖掘方法,其特征在于:步骤S5中所述最小支持度为2。
CN202011591504.7A 2020-12-29 2020-12-29 一种基于Flink平台和并行Apriori算法的数据挖掘方法 Pending CN112597215A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011591504.7A CN112597215A (zh) 2020-12-29 2020-12-29 一种基于Flink平台和并行Apriori算法的数据挖掘方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011591504.7A CN112597215A (zh) 2020-12-29 2020-12-29 一种基于Flink平台和并行Apriori算法的数据挖掘方法

Publications (1)

Publication Number Publication Date
CN112597215A true CN112597215A (zh) 2021-04-02

Family

ID=75204088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011591504.7A Pending CN112597215A (zh) 2020-12-29 2020-12-29 一种基于Flink平台和并行Apriori算法的数据挖掘方法

Country Status (1)

Country Link
CN (1) CN112597215A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799810A (zh) * 2009-02-06 2010-08-11 中国移动通信集团公司 一种关联规则挖掘方法及其系统
CN103995882A (zh) * 2014-05-28 2014-08-20 南京大学 基于MapReduce的概率频繁项集挖掘方法
US20160092515A1 (en) * 2014-09-29 2016-03-31 International Business Machines Corporation Mining association rules in the map-reduce framework
CN108319658A (zh) * 2018-01-04 2018-07-24 内蒙古物通天下网络科技有限责任公司 一种基于荒漠草原的改进Apriori算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799810A (zh) * 2009-02-06 2010-08-11 中国移动通信集团公司 一种关联规则挖掘方法及其系统
CN103995882A (zh) * 2014-05-28 2014-08-20 南京大学 基于MapReduce的概率频繁项集挖掘方法
US20160092515A1 (en) * 2014-09-29 2016-03-31 International Business Machines Corporation Mining association rules in the map-reduce framework
CN108319658A (zh) * 2018-01-04 2018-07-24 内蒙古物通天下网络科技有限责任公司 一种基于荒漠草原的改进Apriori算法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
倪政君,夏哲雷: "Flink的并行Apriori算法设计与实现", 《中国计量大学学报》 *

Similar Documents

Publication Publication Date Title
CN110502583B (zh) 分布式数据同步方法、装置、设备及可读存储介质
US8344916B2 (en) System and method for simplifying transmission in parallel computing system
US20160210333A1 (en) Method and device for mining data regular expression
CN104516921B (zh) 自动回复方法及装置
WO2021218144A1 (zh) 数据处理方法、装置、计算机设备及存储介质
CN113900810A (zh) 分布式图处理方法、系统及存储介质
CN115567589B (zh) Json数据的压缩传输方法、装置、设备及存储介质
CN113568938A (zh) 数据流处理方法、装置、电子设备及存储介质
CN110362560B (zh) 一种无业务主键数据在存储数据库时去重的方法
CN113220710B (zh) 数据查询方法、装置、电子设备以及存储介质
KR20210125448A (ko) 데이터 어노테이션 방법, 장치, 전자 설비 및 저장매체
CN106874479A (zh) 基于FPGA的FP‑Growth算法的改进方法及装置
CN110442696B (zh) 查询处理方法及装置
CN113190551A (zh) 特征检索系统的构建方法、特征检索方法、装置及设备
CN112597215A (zh) 一种基于Flink平台和并行Apriori算法的数据挖掘方法
CN110347726A (zh) 一种高效时序数据集成存储查询系统及方法
CN115048913B (zh) 一种命令处理方法、装置和电子设备
CN115904240A (zh) 数据处理方法、装置、电子设备和存储介质
CN110941938B (zh) 基于与非/或非-与异或非图的电路面积和功耗优化方法
CN114924882A (zh) 一种分布式业务处理方法、装置、设备及存储介质
CN114047926A (zh) 数组计算表达语言的转换方法、装置、设备及存储介质
CN108804131B (zh) 一种两配置文件的对比算法
US12107672B1 (en) Protocol data bit parsing method and device for AK protocol wheel speed sensor
CN113485805B (zh) 基于异构加速平台的分布式计算调整方法、装置及设备
US20230004533A1 (en) Hybrid intermediate stream format

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210402