CN112597215A - 一种基于Flink平台和并行Apriori算法的数据挖掘方法 - Google Patents
一种基于Flink平台和并行Apriori算法的数据挖掘方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000007418 data mining Methods 0.000 title claims abstract description 15
- 238000013507 mapping Methods 0.000 claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data 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算法的数据挖掘方法。
背景技术
传统的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。
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)
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算法 |
-
2020
- 2020-12-29 CN CN202011591504.7A patent/CN112597215A/zh active Pending
Patent Citations (4)
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)
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 |