[发明专利]基于Spark的Cassandra数据导入方法、装置、设备及介质有效
申请号: | 201911379699.6 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111143456B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 程万胜 | 申请(专利权)人: | 同盾(广州)科技有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/27 |
代理公司: | 杭州创智卓英知识产权代理事务所(普通合伙) 33324 | 代理人: | 张迪 |
地址: | 511457 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 spark cassandra 数据 导入 方法 装置 设备 介质 | ||
本发明公开了一种基于Spark的Cassandra数据导入方法,涉及数据处理技术领域,用于解决现有通过Spark导入数据到Cassandra时,Cassandra性能降低的问题,该方法包括以下步骤:获取待导入数据的数据量及SSTable单文件大小,并根据所述数据量及SSTable单文件大小计算所需分区数量N;根据所述数据的Key计算token值;根据所述token值,将所述数据分配到所述N个分区中,并排序;使用CQLSSTableWriter读取排序后的所述数据,生成SSTable文件;并行处理所述SSTable文件,通过SSTableload将所述SSTable文件导入Cassandra集群。本发明还公开了一种基于Spark的Cassandra数据导入装置、电子设备和计算机存储介质。本发明通过Spark对数据进行分区,进而提高数据导入时,Cassandra的处理性能。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于Spark的Cassandra数据导入方法、装置、设备及介质。
背景技术
近年来,与物联网、人工智能、智慧城市等相关的产品及应用层出不穷,这些产品及应用也促进了大数据技术的蓬勃发展,随着数据规模指数的增长,数据的处理和存储方法已成为相关公司的主要研究方向。目前,Cassandra作为一种开源分布式NoSQL数据库存储系统,因其高写入性能、高读取性能等优点,被越来越多的公司用作数据存储系统。
Cassandra作为分布式的数据存储系统,可以提供较完善的数据读取、写入和管理功能,Cassandra以SSTable(Cassandra的基本存储单元)的方式进行数据的存储。Cassandra的数据写入功能一般直接通过insert实现;如果数据量比较大,也可以使用CQLSSTableWriter(读取源数据生成SSTable的工具)+SSTableload(SSTable文件导入工具)工具简单的组合实现。
但是,这两种数据写入方法在实际应用时分别存在一些问题。使用insert直接读取数据进行导入的方式性能较低,且对Cassandra服务器的负载影响较大;另一种借助CQLSSTableWriter+SSTableload工具实现数据导入的方法,该方法相对insert直接导入数据的方法,性能上有了较大提升,且借助Spark,也可以实现分布式并行处理,但无法解决各分区中数据不均衡的问题,Spark对数据划分partition(分区)的时候,由于不会考虑Cassandra的数据存储规则,会导致数据通过SSTableLoader导入集群的时候,对SSTable文件进行再次拆分,产生大量的SSTable小文件,引起Cassandra集群负载升高,性能降低;此外,CQLSSTableWriter生成sstable的时候,会在内部进行排序,较大数据量时会导致CQLSSTableWriter性能过低、内存溢出,分布式处理时数据倾斜,造成SSTable文件生成缓慢。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种基于Spark的Cassandra数据导入方法,其根据SStable单文件大小及总数据量,计算出分区数量,并根据token值均分数据,进而防止导入Cassandra时,分区中数据不均衡的问题。
本发明的目的之一采用以下技术方案实现:
一种基于Spark的Cassandra数据导入方法,包括以下步骤:
获取待导入数据的数据量及SSTable单文件大小,并根据所述数据量及SSTable单文件大小计算所需分区数量N;
读取所述待导入的数据,根据所述数据的Key计算token值;
根据所述token值,将所述数据分配到所述N个分区中,并按照所述token值对每个所述分区的数据进行排序;
使用CQLSSTableWriter读取排序后的所述数据,生成SSTable文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同盾(广州)科技有限公司,未经同盾(广州)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911379699.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种编号可自由组合的金属标识牌
- 下一篇:一种宠物用吸入性异氟烷
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置