CN113139003A - 一种基于spark的大数据处理方法 - Google Patents
一种基于spark的大数据处理方法 Download PDFInfo
- Publication number
- CN113139003A CN113139003A CN202010063433.7A CN202010063433A CN113139003A CN 113139003 A CN113139003 A CN 113139003A CN 202010063433 A CN202010063433 A CN 202010063433A CN 113139003 A CN113139003 A CN 113139003A
- Authority
- CN
- China
- Prior art keywords
- party data
- data
- processing
- threads
- party
- 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.)
- Granted
Links
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/24552—Database cache management
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (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的大数据处理方法。
背景技术
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
但现有技术中,基于Hadoop中MapReduce的多线程数据处理方法,不能应用在企业对账中,因为每个线程在执行完成时的时间不统一,导致各个线程的执行结果是分步提交的,这就产生了时差。举例来说,在企业对账中,现金日记账期末余额应与总分类账的库存现金期末余额核对相符,但若一个线程对现金日记账期末余额计算的执行结果提交时间和另一个线程对总分类账的库存现金期末余额计算的执行结果,两者提交时间不同,就导致此次执行结果无法进行比对,进而不能输出对账结果。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于spark的大数据处理方法,其利用将数据处理结果需要进行比对的两方数据同时缓存至中间库,将第一方数据的处理结果和第二方数据的处理结果同时输出,以解决在企业对账中,因对账的两方数据不能同时处理完成,导致的不能输出对账结果的问题。
为解决上述技术问题,本发明采用的技术方案是:一种基于spark的大数据处理方法,包括:
将数据处理结果需要进行比对的两方数据同时缓存至中间库,所述两方数据包括第一方数据和第二方数据;
根据第一方数据的数量分配多个处理第一方数据的第一副线程,根据第二方数据的数量分配多个处理第二方数据的第二副线程;
多个第一副线程均完成数据处理时,触发:第一主线程对所有副线程的数据处理结果进行收集,并生成第一方数据的处理结果;
多个第二副线程均完成数据处理时,触发:第二主线程对所有副线程的数据处理结果进行收集,并生成第二方数据的处理结果;
将第一方数据的处理结果和第二方数据的处理结果同时输出。
上述一种基于spark的大数据处理方法,根据第一方数据的数量分配处理第一方数据的副线程时,包括:
获取第一方数据的数量λ1;
为第一方数据的处理分配N1条副线程。
上述一种基于spark的大数据处理方法,还包括:第一主线程对所有第一副线程的数据处理结果进行收集完成时,对占用的资源进行释放。
上述一种基于spark的大数据处理方法,还包括:根据预设比对规则,对第一方数据的处理结果和第二方数据的处理结果进行比对,生成比对结果。
上述一种基于spark的大数据处理方法,所述中间库为redis或者mysql。
本发明与现有技术相比具有以下优点:
1、本发明通过将数据处理结果需要进行比对的两方数据同时缓存至中间库,在方便数据处理的同时,保证提取的两方数据的时间节点相同。
2、本发明通过将数据处理以多个副线程执行,多个副线程的数据处理结果以一个主线程进行收集,合并出总的数据处理结果,在提升数据处理速度的同时,也保证了总的数据处理结果的有效完成。
3、本发明其利用将数据处理结果需要进行比对的两方数据同时缓存至中间库,将第一方数据的处理结果和第二方数据的处理结果同时输出,以解决在企业对账中,因对账的两方数据不能同时处理完成,导致的不能输出对账结果的问题。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的方法步骤流程图。
具体实施方式
如图1所示,一种基于spark的大数据处理方法,包括:
S1、将数据处理结果需要进行比对的两方数据同时缓存至中间库,所述两方数据包括第一方数据和第二方数据;
将两方数据同时缓存至中间库,目的在于方便数据处理的同时,能够保证提取的两方数据的时间节点相同。
S2、根据第一方数据的数量分配多个处理第一方数据的第一副线程,根据第二方数据的数量分配多个处理第二方数据的第二副线程;
对于第一方数据的处理任务进行切分,切分出多个子任务,每个子任务由一个第一副线程进行执行,多个第一副线程对整个第一方数据的处理任务进行处理。
对于第二方数据的处理任务进行切分,切分出多个子任务,每个子任务由一个第二副线程进行执行,多个第二副线程对整个第二方数据的处理任务进行处理。
S3、判断多个第一副线程是否均完成数据处理,若是,进入步骤S4;
S4、第一主线程对所有副线程的数据处理结果进行收集,并生成第一方数据的处理结果;
S5、判断多个第二副线程是否均完成数据处理,若是,进入步骤S6;
S6、第二主线程对所有副线程的数据处理结果进行收集,并生成第二方数据的处理结果;
现有技术中的多线程处理没有数据处理结果的合并,本发明中,通过第一主线程对多个第一副线程的数据处理结果进行收集,合并出第一方数据的处理结果。通过第二主线程对多个第二副线程的数据处理结果进行收集,合并出第二方数据的处理结果。在提升数据处理速度的同时,也保证了总的数据处理结果的有效完成。
S7、将第一方数据的处理结果和第二方数据的处理结果同时输出。
本发明其利用将数据处理结果需要进行比对的两方数据同时缓存至中间库,将第一方数据的处理结果和第二方数据的处理结果同时输出,以解决在企业对账中,因对账的两方数据不能同时处理完成,导致的不能输出对账结果的问题。
本实施例中,根据第一方数据的数量分配处理第一方数据的副线程时,包括:
获取第一方数据的数量λ1;
为第一方数据的处理分配N1条副线程。
本实施例中,根据第二方数据的数量分配处理第二方数据的副线程时,包括:
获取第二方数据的数量λ2;
为第二方数据的处理分配N2条副线程。
本实施例中,S4还包括:第一主线程对所有第一副线程的数据处理结果进行收集完成时,对占用的资源进行释放。
本实施例中,S6还包括:第二主线程对所有第二副线程的数据处理结果进行收集完成时,对占用的资源进行释放。
本实施例中,还包括:S8、根据预设比对规则,对第一方数据的处理结果和第二方数据的处理结果进行比对,生成比对结果。
本实施例中,所述中间库为redis或者mysql。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。
Claims (5)
1.一种基于spark的大数据处理方法,其特征在于,包括:
将数据处理结果需要进行比对的两方数据同时缓存至中间库,所述两方数据包括第一方数据和第二方数据;
根据第一方数据的数量分配多个处理第一方数据的第一副线程,根据第二方数据的数量分配多个处理第二方数据的第二副线程;
多个第一副线程均完成数据处理时,触发:第一主线程对所有副线程的数据处理结果进行收集,并生成第一方数据的处理结果;
多个第二副线程均完成数据处理时,触发:第二主线程对所有副线程的数据处理结果进行收集,并生成第二方数据的处理结果;
将第一方数据的处理结果和第二方数据的处理结果同时输出。
3.按照权利要求1或2所述的一种基于spark的大数据处理方法,其特征在于,还包括:第一主线程对所有第一副线程的数据处理结果进行收集完成时,对占用的资源进行释放。
4.按照权利要求1或2所述的一种基于spark的大数据处理方法,其特征在于,还包括:根据预设比对规则,对第一方数据的处理结果和第二方数据的处理结果进行比对,生成比对结果。
5.按照权利要求1或2所述的一种基于spark的大数据处理方法,其特征在于,所述中间库为redis或者mysql。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063433.7A CN113139003B (zh) | 2020-01-19 | 2020-01-19 | 一种基于spark的大数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063433.7A CN113139003B (zh) | 2020-01-19 | 2020-01-19 | 一种基于spark的大数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113139003A true CN113139003A (zh) | 2021-07-20 |
CN113139003B CN113139003B (zh) | 2023-04-11 |
Family
ID=76808840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010063433.7A Active CN113139003B (zh) | 2020-01-19 | 2020-01-19 | 一种基于spark的大数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113139003B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006129767A1 (ja) * | 2005-06-02 | 2006-12-07 | Keio University | マルチスレッド中央演算装置および同時マルチスレッディング制御方法 |
CN102737163A (zh) * | 2012-05-28 | 2012-10-17 | 潍坊东航印刷科技股份有限公司 | 一种印刷数据的处理方法及系统 |
CN103577158A (zh) * | 2012-07-18 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 数据处理方法与装置 |
CN108961029A (zh) * | 2018-07-26 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 一种分布式对账处理方法、系统及终端设备 |
CN109345443A (zh) * | 2018-10-19 | 2019-02-15 | 珠海金山网络游戏科技有限公司 | 数据处理方法和装置、计算设备及存储介质 |
CN109408214A (zh) * | 2018-11-06 | 2019-03-01 | 北京字节跳动网络技术有限公司 | 一种数据的并行处理方法、装置、电子设备及可读介质 |
CN109815011A (zh) * | 2018-12-29 | 2019-05-28 | 东软集团股份有限公司 | 一种数据处理的方法和装置 |
CN110689419A (zh) * | 2019-10-08 | 2020-01-14 | 四川云智造科技有限公司 | 一种核对多方数据的方法、装置及设备 |
-
2020
- 2020-01-19 CN CN202010063433.7A patent/CN113139003B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006129767A1 (ja) * | 2005-06-02 | 2006-12-07 | Keio University | マルチスレッド中央演算装置および同時マルチスレッディング制御方法 |
CN102737163A (zh) * | 2012-05-28 | 2012-10-17 | 潍坊东航印刷科技股份有限公司 | 一种印刷数据的处理方法及系统 |
CN103577158A (zh) * | 2012-07-18 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 数据处理方法与装置 |
CN108961029A (zh) * | 2018-07-26 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 一种分布式对账处理方法、系统及终端设备 |
CN109345443A (zh) * | 2018-10-19 | 2019-02-15 | 珠海金山网络游戏科技有限公司 | 数据处理方法和装置、计算设备及存储介质 |
CN109408214A (zh) * | 2018-11-06 | 2019-03-01 | 北京字节跳动网络技术有限公司 | 一种数据的并行处理方法、装置、电子设备及可读介质 |
CN109815011A (zh) * | 2018-12-29 | 2019-05-28 | 东软集团股份有限公司 | 一种数据处理的方法和装置 |
CN110689419A (zh) * | 2019-10-08 | 2020-01-14 | 四川云智造科技有限公司 | 一种核对多方数据的方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113139003B (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ekanayake et al. | Mapreduce for data intensive scientific analyses | |
US9152601B2 (en) | Power-efficient nested map-reduce execution on a cloud of heterogeneous accelerated processing units | |
CN106055311B (zh) | 基于流水线多线程的MapReduce任务并行化方法 | |
JP2020509495A (ja) | ブロック・チェーンにサービス・データを書き込むための方法および装置、ならびにサービス・サブセットを判定するための方法 | |
Koch et al. | Could we use a million cores to solve an integer program? | |
CN112015713A (zh) | 数据库任务的处理方法、装置、电子设备及可读介质 | |
CN111095193B (zh) | 使用并行处理执行哈希连接 | |
CN107766147A (zh) | 分布式的数据分析任务调度系统 | |
CN107070709B (zh) | 一种基于底层numa感知的nfv实现方法 | |
Hu et al. | Trix: Triangle counting at extreme scale | |
CN105988862A (zh) | 分布式事务处理方法及装置 | |
Rizvandi et al. | A study on using uncertain time series matching algorithms for MapReduce applications | |
Dickman et al. | Event pool structures for PDES on many-core Beowulf clusters | |
Aji et al. | Haggis: turbocharge a MapReduce based spatial data warehousing system with GPU engine | |
WO2016041126A1 (zh) | 基于gpu的数据流处理方法和装置 | |
WO2020253117A1 (zh) | 一种数据处理方法及装置 | |
Mera et al. | Towards fast multimedia feature extraction: Hadoop or storm | |
US11176081B2 (en) | Parallel, distributed processing in a heterogeneous, distributed environment | |
CN110727700A (zh) | 多源流式数据整合成事务型流数据的方法及系统 | |
CN113139003B (zh) | 一种基于spark的大数据处理方法 | |
Xie et al. | Redundancy minimization and cost reduction for workflows with reliability requirements in cloud-based services | |
Misra et al. | SPIN: A fast and scalable matrix inversion method in apache spark | |
US8893134B2 (en) | Locating bottleneck threads in multi-thread applications | |
Huang et al. | A general novel parallel framework for SPH-centric algorithms | |
WO2020001295A1 (en) | Client-server architecture for multicore computer system to realize single-core-equivalent view |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |