【技术实现步骤摘要】
一种基于Spark框架的关系型数据库分布式读取方法及装置
[0001]本专利技术涉及分布式计算
,特别涉及一种基于Spark框架的关系型数据库分布式读取方法及装置。
技术介绍
[0002]伴随着经济的飞速发展,各大企业业务量猛增,企业所留存的数据也迎来了爆发式的增长,数据量由原来的GB级别向着TB、PB级别发展,为最大程度地发掘数据价值,企业会采用各种算法对数据进行分析。面对单日TB、PB级别的数据增长,传统的数据库或者单机进程无法支撑如此大规模的数据计算,各种分布式计算框架如雨后春笋涌现出来,Spark是当前离线批处理中炙手可热的框架,具有高可用、高并发、高性能等的特性,很大程度上提升了数据处理的性能。Spark支持的数据源种类繁多,包括FileSystem、关系型数据库、非关系型数据库等。
[0003]Spark能够提高处理性能的一个关键点在于能够将一个大的任务切分成n个小的任务分发到不同的机器并行执行,这种并行是从数据读取阶段就开始的。当前很多企业数据还是存储在关系型数据库中,如Mysql、Oracle中 ...
【技术保护点】
【技术特征摘要】
1.一种基于Spark框架的关系型数据库分布式读取方法,其特征在于,包括:获取待读取的数据表中的数据总量S以及分区数量n;S、n均为正整数;根据所述数据总量S以及分区数量n得到每个分区对应的数据量m;对所述待读取的数据表中的数据的分区用字段的字段值进行排序之后,根据各个分区的数据量m查找得到各个分区对应的分区用字段的字段值;其中,所述分区用字段的数据类型为非数值型;根据所述各个分区对应的分区用字段的字段值组装成查询语句并分发到n个节点进行读取计算。2.根据权利要求1所述的方法,其特征在于,所述根据所述数据总量S以及分区数量n得到每个分区对应的数据量m,包括:若S/n的余数r不为0,则将r条数据平均分配给n个分区中的r个分区。3.根据权利要求1所述的方法,其特征在于,所述根据所述数据总量S以及分区数量n得到每个分区对应的数据量m,包括:若S/n的余数r不为0,则将r条数据分配给n个分区中的任意一个分区。4.根据权利要求3所述的方法,其特征在于,所述根据所述各个分区对应的分区用字段的字段值组装成查询语句并分发到n个节点进行读取计算,包括:将包含(s/n+r)条数据的分区的计算任务轮流分配给不同的计算节点。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:检测所述待读取的数据表中是否存在数值型分区用字段,若否,则执行上述对非数值型分区用字段...
【专利技术属性】
技术研发人员:吴珉杰,赵凡举,李垚,朱亮,陈国润,钱栋军,马文斌,
申请(专利权)人:上海理想信息产业集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。