CN103106249A - 一种基于Cassandra的数据并行处理系统 - Google Patents
一种基于Cassandra的数据并行处理系统 Download PDFInfo
- Publication number
- CN103106249A CN103106249A CN2013100061284A CN201310006128A CN103106249A CN 103106249 A CN103106249 A CN 103106249A CN 2013100061284 A CN2013100061284 A CN 2013100061284A CN 201310006128 A CN201310006128 A CN 201310006128A CN 103106249 A CN103106249 A CN 103106249A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- job
- cassandra
- request
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000000151 deposition Methods 0.000 claims description 4
- 238000005192 partition Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Cassandra的数据并行处理系统,包括Hadoop主节点、多个Hadoop子节点以及位于Hadoop子节点上的Cassandra存储端,主节点包括用户接口模块、Cassandra查询模块、作业调度模块、作业队列模块、作业追踪器,子节点包括任务追踪器、输入模块、输出模块以及Mapreduce模块,用户接口模块用于接收用户请求,并判断用户请求的类型是数据查询请求、提交数据处理作业请求还是作业信息查询请求;如果是数据查询请求,则将其发送到Cassandra查询模块,如果是提交数据处理作业请求或作业信息查询请求,则将其发送到作业调度模块。本发明具有可靠性高、扩展性好、吞吐率高的优势以及针对数据简单查询快速响应的能力,同时又具备对海量数据的复杂处理能力。
Description
技术领域
本发明属于计算机领域的分布式计算和系统结构领域,更具体地,涉及一种基于Cassandra的数据并行处理系统。
背景技术
Cassandra是一个开源的、分布式的、无中心、弹性可扩展、高可用、容错、一致性可调、面向列的非关系型数据库。它是基于亚马逊Dynamo数据库的分布式设计和谷歌BigTable的数据模型,由Facebook创建,已经在一些最流行的网站中取得了应用。当前,随着Web2.0的兴起,数据量急剧增长,海量数据的存储和处理需求对传统的关系型数据库提出了挑战,这是因为,传统的关系型数据库无法满足超大规模和高并发的数据处理需求。例如Web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,这样一个较大的网站往往会达到每秒上万次的读写请求,而上万次的SQL写请求,是硬盘IO无法承受的。再者,类似Facebook,twitter之类的网站,每天用户产生海量的用户动态,一个月的用户动态数据会达到上亿条。在一张上亿条记录的大表里面做SQL查询,其效率是极其低下的。而在这种场景之下,Cassandra却能够满足数据处理的需求。由于Cassandra采用了MemTable机制实现读写优化,显著地提升了数据的吞吐率,可以很好地应对高并发的数据读写请求。同时,Cassandra还具有灵活的模式,能够很方便地增加或者删除字段,它采用了P2P架构,使得单点故障不会影响整个集群的服务,并且支持节点的线性扩展。然而,由于Cassandra独特的架构设计,使得其无法支持关系型数据库的诸如连接、条件查询等对数据的复杂处理。
在大数据处理领域,谷歌公司提出了针对大规模数据集的并行计算编程模型MapReduce。Hadoop是MapReduce的一个开源系统,目前已经广泛地被运用于海量数据的存储和处理。在数据处理方面,Hadoop的子项目Hive,Pig都拥有强大的数据处理能力。Hive直接将文本数据在逻辑上处理成一个大表,将传统的SQL命令解释成Hadoop程序对文本进行处理;Pig则可以更加灵活地指定数据的模式,使用面向数据流的Pig Latin语言直接进行数据处理。然而,由于Hadoop是基于分布式文件系统的存储方式,对数据的查询必须遍历整个文件,因此Hadoop不具有针对数据简单查询快速响应的能力。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于Cassandra的数据并行处理系统,旨在解决现有Cassandra系统对数据复杂处理功能的不足,该系统在数据存储方面,具有可靠性高、扩展性好、吞吐率高的优势以及针对数据简单查询快速响应的能力,同时又具备对海量数据的复杂处理能力。
为实现上述目的,本发明提供了一种基于Cassandra的数据并行处理系统,包括Hadoop主节点、多个Hadoop子节点以及位于Hadoop子节点上的Cassandra存储端,主节点包括用户接口模块、Cassandra查询模块、作业调度模块、作业队列模块、作业追踪器,子节点包括任务追踪器、输入模块、输出模块以及Mapreduce模块,用户接口模块用于接收用户请求,并判断用户请求的类型是数据查询请求、提交数据处理作业请求还是作业信息查询请求;如果是数据查询请求,则将其发送到Cassandra查询模块,如果是提交数据处理作业请求或作业信息查询请求,则将其发送到作业调度模块,Cassandra查询模块用于根据接收来自于用户接口模块的数据查询请求在Cassandra系统中进行查询,并将查询的结果返回到用户接口模块,作业调度模块用于将提交数据处理作业请求对应的作业提交给作业队列模 块,作业调度模块还用于判断该作业信息查询请求对应的作业信息是否为作业追踪器正在处理中的作业信息,若是,则直接将该作业信息返回给用户接口模块,否则在作业队列模块中查询是否存在有对应的作业信息,如果有则将该作业信息返回给用户接口模块,否则查询磁盘的日志文件中是否存在有该作业信息,如果有则将该作业信息返回给用户接口模块,否则返回作业不存在信息给用户接口模块,作业队列模块用于将来自于作业调度模块的作业添加到其作业队列中,并将作业队列中队首的作业传送到作业追踪器,作业追踪器用于将来自于作业队列模块的作业拆分成多个子任务,将每个子任务发送到各个子节点的任务追踪器,将存储端中存储的与该作业对应的待处理数据的存储位置信息以及存储端的网络拓扑信息传送到输入模块,并将处理后数据的存储位置信息传送到输出模块,任务追踪器还用于接收来自主节点的作业追踪器的子任务,并将该子任务发送到Mapreduce模块,Mapreduce模块用于根据子任务请求输入模块从存储端获取待处理数据,输入模块用于根据来自作业追踪器的、与该作业对应的待处理数据的存储位置信息以及存储端的网络拓扑信息从存储端获取待处理数据,并将待处理数据发送到Mapreduce模块,Mapreduce模块还用于对待处理数据进行计算,并将计算结果传送到输出模块,输出模块用于根据来自于作业追踪器的、处理后数据的存储位置信息将计算结果发送到存储端中的对应位置。
Cassandra查询模块维护一个Cassandra连接池和一个超时连接,当收到一个用户查询请求,首先检查当前超时连接是否超时,若没有超时,则直接使用当前连接向数据库提交查询请求,如果当前连接已超时,则释放当前连接,并从其维护的连接池中请求一个连接作为当前的连接,并使用当前连接向数据库提交查询请求。当向数据库提交数据查询请求之后,其等待数据库返回查询结果,并将查询结果转发给用户接口模块。
作业追踪器正在处理中的作业信息包括作业进度和资源使用率信息。
每个子任务都是由一个map或者reduce任务构成,map和reduce任务执行用户上传的作业包中的map函数和reduce函数,每个map函数处理根据其对应的输入模块的配置,读取存储在本地Cassandra节点的一段数据记录并处理。
主节点的信息流向为:用户向用户接口模块提交数据查询请求或数据处理作业请求,其中,数据查询请求将被用户接口模块转发至Cassandra数据查询模块,由Cassandra数据查询模块完成数据查询,并将查询结果返回给用户接口模块,用户接口模块再将查询结果返回给用户,而对于用户提交的数据处理作业请求,用户接口模块将作业提交给作业调度模块,作业调度模块按照调度策略将作业加入到作业队列模块,待系统有空闲的任务槽时,作业调度模块从作业队列模块中取出队首作业,提交给作业追踪器,作业追踪器根据个子节点任务追踪器上报的状态,将作业分割为多个任务,并分发给各个子节点上的任务追踪器完成MapReduce任务,在作业处理的过程中,作业追踪器不断向作业调度模块汇报当前作业进度、作业状态等信息,作业调度模块将当前作业信息返回给用户接口模块,用户从用户接口模块获得当前的作业信息。
输入模块维护一个面向本地Cassandra存储端的连接池,从作业配置文件中获取Cassandra数据库的关键字空间和列簇名,调用Cassandra中的一致性哈希算法来确定存储在本地节点的数据记录,然后Cassandra存储端中读取存储在本地节点中的数据记录,并把数据记录格式化为键值对形式,向map函数推送键值对数据。
Mapreduce模块采用Map函数对本地数据记录进行计算,将计算得到的中间结果键值对输出到Hadoop的本地磁盘临时文件中,Hadoop系统对这些中间结果键值对进行排序和按键进行合并,再由reduce函数对排序和合并后的中间结果键值对进行计算,并将最终的计算结果输出给输出模块。
输出模块维护了一个面向本地Cassandra存储端的连接池,从作业配 置文件中获取数据输出的关键字空间和列簇名,把每一个MapReduce输出的键值对转换为一个Cassandra列,存入到Cassandra本地存储端之中。
位于每个子节点上的Cassandra存储端和子节点上的输入模块和输出模块进行交互,用于存放原始数据和数据处理结果。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
(1)可靠性高
由于本发明的系统采用了将Cassandra的数据重定向到Hadoop系统的输入模块,而Cassandra在存储时已将键值对排序,Hadoop通过输入模块读入的数据是被排序的,又由于Cassandra使用了具有分区容错的特性的去中心化分布式架构,因此本发明在数据存储方面,具有高可靠性和可用性。
(2)可扩展性强
由于本发明中,Cassandra系统的各节点是对等的,若要向集群中新加入存储节点,只需要在新节点上配置其所属的Cassandra集群命名即可,因此本发明具有很强的可扩展性。
(3)可支持复杂数据处理
由于本发明在Cassandra的基础上集成了MapReduce数据处理系统,使得整套系统即拥有Cassandra良好的存储性能,又使用MapReduce模块对存储在其中的数据进行并行处理。因此本发明即能针对简单的数据查询和插入操作做出快速响应,也能对系统中的数据进行复杂分析处理。
附图说明
图1为基于Cassandra的数据并行处理系统的互联拓扑图。
图2为基于Cassandra的数据并行处理系统的系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图 及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明基于Cassandra的数据并行处理系统包括Hadoop主节点1、多个Hadoop子节点2以及位于Hadoop子节点2上的Cassandra存储端3。本发明使用Hadoop主节点1作为系统头节点来响应客户端请求,管理作业队列,调度各子节点2的计算任务。各个子节点2上的Cassandra存储端3构成Cassandra存储集群,用于存放待处理的数据和处理结果。
系统用户通过客户端上传数据处理作业包(如jar包)形式的作业到主节点1,主节点1的作业追踪器将作业分发到从节点2,从节点2的任务追踪器根据作业进行配置,并根据配置结果向其所在的Cassandra存储端3请求数据,并完成数据处理,再将处理结果回存到Cassandra存储端3中。
如图2所示,主节点1包括用户接口模块11、Cassandra查询模块12、作业调度模块13、作业队列模块14、作业追踪器15。上述模块可以根据需要进行分解,部署在一台或者多台服务器上。
子节点2包括任务追踪器21、输入模块22、输出模块23以及Mapreduce模块24。子节点2中的各模块参数由用户提交的作业指定。
用户接口模块11用于接收用户请求,并判断用户请求的类型是数据查询请求、提交数据处理作业请求还是作业信息查询请求。如果是数据查询请求,则将其发送到Cassandra查询模块12,如果是提交数据处理作业请求或作业信息查询请求,则将其发送到作业调度模块13。
Cassandra查询模块12用于根据接收来自于用户接口模块11的数据查询请求在Cassandra系统中进行查询,并将查询的结果返回到用户接口模块11。具体而言,该模块维护一个Cassandra连接池和一个超时连接,当收到一个用户查询请求,该模块首先检查当前超时连接是否超时,若没有超时,则直接使用当前连接向数据库提交查询请求;如果当前连接已超时,则释放当前连接,并从该模块维护的连接池中请求一个连接作为当前的连 接,并使用当前连接向数据库提交查询请求。当向数据库提交数据查询请求之后,该模块等待数据库返回查询结果,并将查询结果转发给用户接口模块11。
作业调度模块13用于将提交数据处理作业请求对应的作业提交给作业队列模块14。具体而言,作业调度模块13根据作业队列模块14的作业调度策略将不同优先级的作业提交给作业队列模块14。
作业调度模块13还用于判断该作业信息查询请求对应的作业信息是否为作业追踪器15正在处理中的作业信息(包括作业进度、资源使用率等信息),若是,则直接将该作业信息返回给用户接口模块11,否则在作业队列模块14中查询是否存在有对应的作业信息,如果有则将该作业信息返回给用户接口模块11,否则查询磁盘的日志文件中是否存在有该作业信息,如果有则将该作业信息返回给用户接口模块11,否则返回作业不存在信息给用户接口模块11。用户接口模块11再将作业信息返回给客户端。
作业队列模块14用于将来自于作业调度模块13的作业添加到其作业队列中,并将作业队列中队首的作业传送到作业追踪器15。
作业追踪器15用于将来自于作业队列模块14的作业拆分成多个子任务,将每个子任务发送到各个子节点2的任务追踪器21,将存储端3中存储的与该作业对应的待处理数据的存储位置信息以及存储端3的网络拓扑信息传送到输入模块22,并将处理后数据的存储位置信息传送到输出模块23。待处理数据为存储端3中的数据。具体而言,每个子任务都是由一个map或者reduce任务构成,map和reduce任务执行用户上传的作业包中的map函数和reduce函数。每个map函数处理根据其对应的输入模块22的配置,读取存储在本地Cassandra节点的一段数据记录并处理。
主节点1的信息流向为:用户向用户接口模块11提交数据查询请求或数据处理作业请求。其中,数据查询请求将被用户接口模块11转发至Cassandra数据查询模块12,由Cassandra数据查询模块完成数据查询, 并将查询结果返回给用户接口模块11,用户接口模块11再将查询结果返回给用户。而对于用户提交的数据处理作业请求,用户接口模块11将作业提交给作业调度模块13。作业调度模块13按照调度策略将作业加入到作业队列模块14。待系统有空闲的任务槽时,作业调度模块13从作业队列模块14中取出队首作业,提交给作业追踪器15。作业追踪器15根据个子节点任务追踪器21上报的状态,将作业分割为多个任务,并分发给各个子节点上的任务追踪器21完成MapReduce任务。在作业处理的过程中,作业追踪器15不断向作业调度模块13汇报当前作业进度、作业状态等信息,作业调度模块13将当前作业信息返回给用户接口模块11,用户从用户接口模块11获得当前的作业信息。
任务追踪器21用于接收来自主节点1的作业追踪器15的子任务,并将该子任务发送到Mapreduce模块24。
Mapreduce模块24用于根据子任务请求输入模块22从存储端3获取待处理数据。
输入模块22用于根据来自作业追踪器15的、与该作业对应的待处理数据的存储位置信息以及存储端3的网络拓扑信息从存储端3获取待处理数据,并将待处理数据发送到Mapreduce模块24。具体而言,输入模块22实现了将Cassandra中的数据重定向到map任务的功能。该模块尽可能地利用调度计算到数据本地的方式来减少网络开销,提高效率。该模块维护一个面向本地Cassandra存储端的连接池,从作业配置文件中获取Cassandra数据库的关键字空间和列簇名,调用Cassandra中的一致性哈希算法来确定存储在本地节点的数据记录,然后Cassandra存储端中读取存储在本地节点中的数据记录,并把数据记录格式化为键值对形式,向map函数推送键值对数据。
Mapreduce模块24用于对待处理数据进行计算,并将计算结果传送到输出模块23。具体而言,是采用Map函数对本地数据记录进行计算,将计 算得到的中间结果键值对输出到Hadoop的本地磁盘临时文件中,Hadoop系统对这些中间结果键值对进行排序和按键进行合并,再由reduce函数对排序和合并后的中间结果键值对进行计算,并将最终的计算结果输出给输出模块23。
输出模块23用于根据来自于作业追踪器15的、处理后数据的存储位置信息将计算结果发送到存储端3中的对应位置。具体而言,输出模块23实现了将Hadoop处理结果重定向到Cassandra的功能。该模块维护了一个面向本地Cassandra存储端的连接池,从作业配置文件中获取数据输出的关键字空间和列簇名,把每一个MapReduce输出的键值对转换为一个Cassandra列,存入到Cassandra本地存储端之中。
位于每个子节点2上的Cassandra存储端3,和子节点2上的输入模块22和输出模块23进行交互,用于存放原始数据和数据处理结果。
实例:
本发明的主节点1的服务器基本硬件配置如表1所示。如果系统负载较大,可以将主节点1上的模块分别安装在多个服务器上。
CPU | 内存 | 硬盘 | 操作系统 | 网络 |
E56202.40G | 16G | 800G | Linux 2.6 | 双1000M网卡及以上交换机 |
表1 主节点的硬件及网络配置
节点2为计算和存储集群,可动态扩展,基本配置如表2所示:
CPU | 内存 | 硬盘 | 操作系统 | 网络 |
E56202.40G | 4G | 500G | Linux2.6 | 10M网卡 |
表2 子节点的硬件及网络配置
本发明将MapReduce数据处理技术与去中心化的分布式存储技术进行了有效的结合,它利用Cassandra数据库读写效率高,可扩展性强的优势,将MapReduce的数据存储从分布式文件系统迁移到了分布式数据库中,并 集成了MapReduce数据处理方案,可对Cassandra数据库中的数据进行复杂计算处理。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于Cassandra的数据并行处理系统,包括Hadoop主节点、多个Hadoop子节点以及位于Hadoop子节点上的Cassandra存储端,其特征在于,
主节点包括用户接口模块、Cassandra查询模块、作业调度模块、作业队列模块、作业追踪器;
子节点包括任务追踪器、输入模块、输出模块以及Mapreduce模块;
用户接口模块用于接收用户请求,并判断用户请求的类型是数据查询请求、提交数据处理作业请求还是作业信息查询请求;如果是数据查询请求,则将其发送到Cassandra查询模块,如果是提交数据处理作业请求或作业信息查询请求,则将其发送到作业调度模块;
Cassandra查询模块用于根据接收来自于用户接口模块的数据查询请求在Cassandra系统中进行查询,并将查询的结果返回到用户接口模块;
作业调度模块用于将提交数据处理作业请求对应的作业提交给作业队列模块;
作业调度模块还用于判断该作业信息查询请求对应的作业信息是否为作业追踪器正在处理中的作业信息,若是,则直接将该作业信息返回给用户接口模块,否则在作业队列模块中查询是否存在有对应的作业信息,如果有则将该作业信息返回给用户接口模块,否则查询磁盘的日志文件中是否存在有该作业信息,如果有则将该作业信息返回给用户接口模块,否则返回作业不存在信息给用户接口模块;
作业队列模块用于将来自于作业调度模块的作业添加到其作业队列中,并将作业队列中队首的作业传送到作业追踪器;
作业追踪器用于将来自于作业队列模块的作业拆分成多个子任务,将每个子任务发送到各个子节点的任务追踪器,将存储端中存储的与该作业对应的待处理数据的存储位置信息以及存储端的网络拓扑信息传送到输入模块,并将处理后数据的存储位置信息传送到输出模块;
任务追踪器还用于接收来自主节点的作业追踪器的子任务,并将该子任务发送到Mapreduce模块;
Mapreduce模块用于根据子任务请求输入模块从存储端获取待处理数据;
输入模块用于根据来自作业追踪器的、与该作业对应的待处理数据的存储位置信息以及存储端的网络拓扑信息从存储端获取待处理数据,并将待处理数据发送到Mapreduce模块;
Mapreduce模块还用于对待处理数据进行计算,并将计算结果传送到输出模块;
输出模块用于根据来自于作业追踪器的、处理后数据的存储位置信息将计算结果发送到存储端中的对应位置。
2.根据权利要求1所述的数据并行处理系统,其特征在于,Cassandra查询模块维护一个Cassandra连接池和一个超时连接,当收到一个用户查询请求,首先检查当前超时连接是否超时,若没有超时,则直接使用当前连接向数据库提交查询请求,如果当前连接已超时,则释放当前连接,并从其维护的连接池中请求一个连接作为当前的连接,并使用当前连接向数据库提交查询请求。当向数据库提交数据查询请求之后,其等待数据库返回查询结果,并将查询结果转发给用户接口模块。
3.根据权利要求1所述的数据并行处理系统,其特征在于,作业追踪器正在处理中的作业信息包括作业进度和资源使用率信息。
4.根据权利要求1所述的数据并行处理系统,其特征在于,每个子任务都是由一个map或者reduce任务构成,map和reduce任务执行用户上传的作业包中的map函数和reduce函数,每个map函数处理根据其对应的输入模块的配置,读取存储在本地Cassandra节点的一段数据记录并处理。
5.根据权利要求1所述的数据并行处理系统,其特征在于,主节点的信息流向为:用户向用户接口模块提交数据查询请求或数据处理作业请求,其中,数据查询请求将被用户接口模块转发至Cassandra数据查询模块,由Cassandra数据查询模块完成数据查询,并将查询结果返回给用户接口模块,用户接口模块再将查询结果返回给用户,而对于用户提交的数据处理作业请求,用户接口模块将作业提交给作业调度模块,作业调度模块按照调度策略将作业加入到作业队列模块,待系统有空闲的任务槽时,作业调度模块从作业队列模块中取出队首作业,提交给作业追踪器,作业追踪器根据个子节点任务追踪器上报的状态,将作业分割为多个任务,并分发给各个子节点上的任务追踪器完成MapReduce任务,在作业处理的过程中,作业追踪器不断向作业调度模块汇报当前作业进度、作业状态等信息,作业调度模块将当前作业信息返回给用户接口模块,用户从用户接口模块获得当前的作业信息。
6.根据权利要求1所述的数据并行处理系统,其特征在于,输入模块维护一个面向本地Cassandra存储端的连接池,从作业配置文件中获取Cassandra数据库的关键字空间和列簇名,调用Cassandra中的一致性哈希算法来确定存储在本地节点的数据记录,然后Cassandra存储端中读取存储在本地节点中的数据记录,并把数据记录格式化为键值对形式,向map函数推送键值对数据。
7.根据权利要求1所述的数据并行处理系统,其特征在于,Mapreduce模块采用Map函数对本地数据记录进行计算,将计算得到的中间结果键值对输出到Hadoop的本地磁盘临时文件中,Hadoop系统对这些中间结果键值对进行排序和按键进行合并,再由reduce函数对排序和合并后的中间结果键值对进行计算,并将最终的计算结果输出给输出模块。
8.根据权利要求1所述的数据并行处理系统,其特征在于,输出模块维护了一个面向本地Cassandra存储端的连接池,从作业配置文件中获取数据输出的关键字空间和列簇名,把每一个MapReduce输出的键值对转换为一个Cassandra列,存入到Cassandra本地存储端之中。
9.根据权利要求1所述的数据并行处理系统,其特征在于,位于每个子节点上的Cassandra存储端和子节点上的输入模块和输出模块进行交互,用于存放原始数据和数据处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310006128.4A CN103106249B (zh) | 2013-01-08 | 2013-01-08 | 一种基于Cassandra的数据并行处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310006128.4A CN103106249B (zh) | 2013-01-08 | 2013-01-08 | 一种基于Cassandra的数据并行处理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103106249A true CN103106249A (zh) | 2013-05-15 |
CN103106249B CN103106249B (zh) | 2016-04-20 |
Family
ID=48314104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310006128.4A Expired - Fee Related CN103106249B (zh) | 2013-01-08 | 2013-01-08 | 一种基于Cassandra的数据并行处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103106249B (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491155A (zh) * | 2013-09-17 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种实现移动计算和获取移动数据的云计算方法及系统 |
CN104378239A (zh) * | 2014-11-26 | 2015-02-25 | 国家电网公司 | 基于集群框架的快速可靠性指标统计系统及方法 |
CN104408086A (zh) * | 2014-11-07 | 2015-03-11 | 北京奇虎科技有限公司 | 数据全局处理系统和方法 |
CN104537081A (zh) * | 2014-12-31 | 2015-04-22 | 北京畅游天下网络技术有限公司 | 文件管理系统和方法 |
CN104748796A (zh) * | 2015-03-30 | 2015-07-01 | 浪潮集团有限公司 | 一种传感方法、传感器和传感集群 |
CN105357124A (zh) * | 2015-11-22 | 2016-02-24 | 华中科技大学 | 一种MapReduce带宽优化方法 |
WO2016145904A1 (zh) * | 2015-09-10 | 2016-09-22 | 中兴通讯股份有限公司 | 一种资源管理方法、装置和系统 |
WO2017015990A1 (en) * | 2015-07-30 | 2017-02-02 | Huawei Technologies Co., Ltd. | Data placement control for distributed computing environment |
CN106708840A (zh) * | 2015-11-12 | 2017-05-24 | 中国科学院深圳先进技术研究院 | 一种客户信息管理方法与系统 |
CN106815251A (zh) * | 2015-11-30 | 2017-06-09 | 成都华为技术有限公司 | 分布式数据库系统、数据库访问方法及装置 |
CN107179940A (zh) * | 2016-03-10 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种任务执行的方法及装置 |
CN108108466A (zh) * | 2017-12-29 | 2018-06-01 | 咪咕文化科技有限公司 | 一种分布式系统日志查询分析方法及装置 |
CN108241539A (zh) * | 2018-01-03 | 2018-07-03 | 百度在线网络技术(北京)有限公司 | 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备 |
CN108694075A (zh) * | 2017-04-12 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 处理报表数据的方法、装置、电子设备和可读存储介质 |
CN108830569A (zh) * | 2018-07-04 | 2018-11-16 | 泰康保险集团股份有限公司 | 数据加工方法及装置 |
CN109117285A (zh) * | 2018-07-27 | 2019-01-01 | 高新兴科技集团股份有限公司 | 支持高并发的分布式内存计算集群系统 |
CN109154882A (zh) * | 2016-06-30 | 2019-01-04 | 英特尔公司 | 结构封装的弹性存储 |
CN109462649A (zh) * | 2018-11-13 | 2019-03-12 | 北京旷视科技有限公司 | 一种远程文件分析方法、装置、系统及其存储介质 |
CN109460230A (zh) * | 2018-11-09 | 2019-03-12 | 苏宁消费金融有限公司 | 一种页面间传值和业务逻辑复用的方法和系统 |
CN105204920B (zh) * | 2014-06-18 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种基于映射聚合的分布式计算作业的实现方法及装置 |
CN110633145A (zh) * | 2019-08-27 | 2019-12-31 | 苏宁云计算有限公司 | 一种分布式系统内实时通讯方法、装置及分布式系统 |
CN110659265A (zh) * | 2019-09-27 | 2020-01-07 | 广州峻林互联科技有限公司 | 一种分布式并行数据库资源管理方法及系统 |
CN110737510A (zh) * | 2019-10-23 | 2020-01-31 | 北京百度网讯科技有限公司 | 块设备管理系统 |
CN111930748A (zh) * | 2020-08-07 | 2020-11-13 | 北京百度网讯科技有限公司 | 流式计算系统数据追踪方法、装置、设备以及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302583A1 (en) * | 2010-06-04 | 2011-12-08 | Yale University | Systems and methods for processing data |
CN102541959A (zh) * | 2010-12-31 | 2012-07-04 | 中国移动通信集团安徽有限公司 | Etl调度方法、装置及系统 |
-
2013
- 2013-01-08 CN CN201310006128.4A patent/CN103106249B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302583A1 (en) * | 2010-06-04 | 2011-12-08 | Yale University | Systems and methods for processing data |
CN102541959A (zh) * | 2010-12-31 | 2012-07-04 | 中国移动通信集团安徽有限公司 | Etl调度方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
SHIVNATH BABU等: "Massively Parallel Databases and MapReduce Systems", 《FOUNDATIONS AND TRENDS》 * |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491155A (zh) * | 2013-09-17 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种实现移动计算和获取移动数据的云计算方法及系统 |
CN105204920B (zh) * | 2014-06-18 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种基于映射聚合的分布式计算作业的实现方法及装置 |
CN104408086A (zh) * | 2014-11-07 | 2015-03-11 | 北京奇虎科技有限公司 | 数据全局处理系统和方法 |
CN104408086B (zh) * | 2014-11-07 | 2018-02-06 | 北京奇虎科技有限公司 | 数据全局处理系统和方法 |
CN104378239A (zh) * | 2014-11-26 | 2015-02-25 | 国家电网公司 | 基于集群框架的快速可靠性指标统计系统及方法 |
CN104537081A (zh) * | 2014-12-31 | 2015-04-22 | 北京畅游天下网络技术有限公司 | 文件管理系统和方法 |
CN104537081B (zh) * | 2014-12-31 | 2018-11-16 | 北京畅游时空软件技术有限公司 | 文件管理系统和方法 |
CN104748796A (zh) * | 2015-03-30 | 2015-07-01 | 浪潮集团有限公司 | 一种传感方法、传感器和传感集群 |
US10055458B2 (en) | 2015-07-30 | 2018-08-21 | Futurewei Technologies, Inc. | Data placement control for distributed computing environment |
WO2017015990A1 (en) * | 2015-07-30 | 2017-02-02 | Huawei Technologies Co., Ltd. | Data placement control for distributed computing environment |
WO2016145904A1 (zh) * | 2015-09-10 | 2016-09-22 | 中兴通讯股份有限公司 | 一种资源管理方法、装置和系统 |
CN106708840A (zh) * | 2015-11-12 | 2017-05-24 | 中国科学院深圳先进技术研究院 | 一种客户信息管理方法与系统 |
CN105357124A (zh) * | 2015-11-22 | 2016-02-24 | 华中科技大学 | 一种MapReduce带宽优化方法 |
CN106815251A (zh) * | 2015-11-30 | 2017-06-09 | 成都华为技术有限公司 | 分布式数据库系统、数据库访问方法及装置 |
CN106815251B (zh) * | 2015-11-30 | 2019-09-03 | 成都华为技术有限公司 | 分布式数据库系统、数据库访问方法及装置 |
CN107179940B (zh) * | 2016-03-10 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 一种任务执行的方法及装置 |
CN107179940A (zh) * | 2016-03-10 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 一种任务执行的方法及装置 |
CN109154882A (zh) * | 2016-06-30 | 2019-01-04 | 英特尔公司 | 结构封装的弹性存储 |
CN109154882B (zh) * | 2016-06-30 | 2023-08-01 | 英特尔公司 | 结构封装的弹性存储 |
CN108694075A (zh) * | 2017-04-12 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 处理报表数据的方法、装置、电子设备和可读存储介质 |
CN108694075B (zh) * | 2017-04-12 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 处理报表数据的方法、装置、电子设备和可读存储介质 |
CN108108466A (zh) * | 2017-12-29 | 2018-06-01 | 咪咕文化科技有限公司 | 一种分布式系统日志查询分析方法及装置 |
CN108241539A (zh) * | 2018-01-03 | 2018-07-03 | 百度在线网络技术(北京)有限公司 | 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备 |
CN108241539B (zh) * | 2018-01-03 | 2021-05-07 | 百度在线网络技术(北京)有限公司 | 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备 |
CN108830569A (zh) * | 2018-07-04 | 2018-11-16 | 泰康保险集团股份有限公司 | 数据加工方法及装置 |
CN109117285A (zh) * | 2018-07-27 | 2019-01-01 | 高新兴科技集团股份有限公司 | 支持高并发的分布式内存计算集群系统 |
CN109460230A (zh) * | 2018-11-09 | 2019-03-12 | 苏宁消费金融有限公司 | 一种页面间传值和业务逻辑复用的方法和系统 |
CN109462649A (zh) * | 2018-11-13 | 2019-03-12 | 北京旷视科技有限公司 | 一种远程文件分析方法、装置、系统及其存储介质 |
CN110633145A (zh) * | 2019-08-27 | 2019-12-31 | 苏宁云计算有限公司 | 一种分布式系统内实时通讯方法、装置及分布式系统 |
CN110633145B (zh) * | 2019-08-27 | 2023-03-31 | 苏宁云计算有限公司 | 一种分布式系统内实时通讯方法、装置及分布式系统 |
CN110659265B (zh) * | 2019-09-27 | 2020-11-24 | 广州峻林互联科技有限公司 | 一种分布式并行数据库资源管理方法 |
CN110659265A (zh) * | 2019-09-27 | 2020-01-07 | 广州峻林互联科技有限公司 | 一种分布式并行数据库资源管理方法及系统 |
CN110737510A (zh) * | 2019-10-23 | 2020-01-31 | 北京百度网讯科技有限公司 | 块设备管理系统 |
CN110737510B (zh) * | 2019-10-23 | 2022-07-05 | 北京百度网讯科技有限公司 | 块设备管理系统 |
CN111930748A (zh) * | 2020-08-07 | 2020-11-13 | 北京百度网讯科技有限公司 | 流式计算系统数据追踪方法、装置、设备以及存储介质 |
CN111930748B (zh) * | 2020-08-07 | 2023-08-08 | 北京百度网讯科技有限公司 | 流式计算系统数据追踪方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103106249B (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103106249B (zh) | 一种基于Cassandra的数据并行处理系统 | |
US20220012265A1 (en) | Predictive and adaptive queue flushing for real-time data reconciliation between local and remote databases | |
Hu et al. | Time-and cost-efficient task scheduling across geo-distributed data centers | |
US10223431B2 (en) | Data stream splitting for low-latency data access | |
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
US20140215007A1 (en) | Multi-level data staging for low latency data access | |
CN103218404A (zh) | 一种基于关联特性的多维元数据管理方法和系统 | |
CN103646073A (zh) | 一种基于HBase表的条件查询优化方法 | |
CN105005611B (zh) | 一种文件管理系统及文件管理方法 | |
CN108469988A (zh) | 一种基于异构Hadoop集群的任务调度方法 | |
CN104516979A (zh) | 一种基于二次检索的数据查询方法及系统 | |
CN105516284B (zh) | 一种集群数据库分布式存储的方法和装置 | |
CN103399894A (zh) | 一种基于共享存储池的分布式事务处理方法 | |
US11080207B2 (en) | Caching framework for big-data engines in the cloud | |
US20210382896A1 (en) | High Efficiency Data Querying | |
CN102982116A (zh) | 基于云的多媒体转换方法及系统 | |
US20180302268A1 (en) | Systems and Methods for Real Time Streaming | |
CN106471501A (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
CN104537003B (zh) | 一种Hbase数据库的通用高性能数据写入方法 | |
CN103823846A (zh) | 一种基于图论的大数据存储及查询方法 | |
CN111159235A (zh) | 数据预分区方法、装置、电子设备及可读存储介质 | |
CN107562803B (zh) | 数据供应系统及方法、终端 | |
CN110708372A (zh) | 点餐软件统一对接系统 | |
CN109947729A (zh) | 一种实时数据分析方法及装置 | |
CN103326925A (zh) | 一种消息推送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160420 |