【技术实现步骤摘要】
数据处理方法、装置及可读存储介质
本申请涉及计算机
,具体而言,涉及一种数据处理方法、装置及可读存储介质。
技术介绍
随着信息化的不断深入发展,数据生成速度正在提高,需要处理的数据量急速膨胀,对大规模的数据进行存储、查询以及分析已经成为一个亟待解决的问题。结构化查询语言(StructuredQueryLanguage,SQL),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL通过不同的语句来实现数据查询和程序的设计,这些语句可通过对应的数据分析引擎执行,数据分析引擎包括有ElasticSearch和Spark,ElasticSearch是一个分布式、高扩展、高实时的搜索与数据分析引擎,它能很方便的存储结构化、非结构化的海量数据,并向终端客户提供搜索、分析和探索的能力,因此,可用于搜索各种文档,同时提供可扩展且接近实时的搜索,其优点就是能及时快速获取数据,但是无法实现复杂的数据分析和数据探索。而Spark是专门为大规模数据处理而设计的快速通用计算引擎,它是一种类HadoopMapReduce的通用并行计算框架,它具有HadoopMapReduce的所有优点,同时基于内存进行计算,其性能远优越于HadoopMapReduce,因此Spark能更能好地适用于复杂的数据挖掘和机器学习。但是由于ElasticSearch的性能远高于Spark,为了兼容两个引擎,其编程语言中针对不同的任务采用不同的语句进行编程,而语句的不同写法,可能导 ...
【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:/n获取数据处理语言的目标语句,其中,所述数据处理语言为类SQL语言,所述数据处理语言的语句能够按子句构成的管道被切分为多个数据处理任务执行,所述多个数据处理任务包括在Spark和/或ElasticSearch上执行的任务;/n获取所述目标语句中的多个目标子句,所述多个目标子句包括适于在所述Spark上执行的多个Spark子句以及适于在ElasticSearch上执行的多个ElasticSearch子句;/n根据所述多个Spark子句以及所述多个ElasticSearch子句之间的依赖关系对所述多个目标子句进行优化,获得优化后的目标语句。/n
【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
获取数据处理语言的目标语句,其中,所述数据处理语言为类SQL语言,所述数据处理语言的语句能够按子句构成的管道被切分为多个数据处理任务执行,所述多个数据处理任务包括在Spark和/或ElasticSearch上执行的任务;
获取所述目标语句中的多个目标子句,所述多个目标子句包括适于在所述Spark上执行的多个Spark子句以及适于在ElasticSearch上执行的多个ElasticSearch子句;
根据所述多个Spark子句以及所述多个ElasticSearch子句之间的依赖关系对所述多个目标子句进行优化,获得优化后的目标语句。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个Spark子句以及所述多个ElasticSearch子句之间的依赖关系对所述多个目标子句进行优化,包括:
获取所述多个Spark子句中的Transform子句;
确定所述Transform子句的前向依赖的子句是否为所述多个ElasticSearch子句中的ElasticSearch子句;
若是,则将所述Transform子句转换为对应的ElasticSearch子句。
3.根据权利要求2所述的方法,其特征在于,所述将所述Transform子句转换为对应的ElasticSearch子句之后,还包括:
获取所述多个Spark子句中未转换为ElasticSearch子句的多个其他Transform子句;
确定所述多个其他Transform子句之间是否具有单向传递依赖关系;
若是,则将具有单向传递依赖关系的其他Transform子句合并为一个Transform子句。
4.根据权利要求1所述的方法,其特征在于,所述根据所述多个Spark子句以及所述多个ElasticSearch子句之间的依赖关系对所述多个目标子句进行优化,包括:
确定所述多个目标子句中最后执行的目标子句;
确定与所述目标子句不具有依赖关系的冗余子句;
将所述冗余子句从所述的数据处理语言的目标语句中删除。
5.根据权利要求1所述的方法,其特征在于,所述根据所述多个Spark子句以及所述多个ElasticSearch子句之间的依赖关系对所述多个目标子句进行优...
【专利技术属性】
技术研发人员:李文广,谢莹莹,郭庆,于宏亮,
申请(专利权)人:中科曙光国际信息产业有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。