利索能及
我要发布
收藏
专利号: 2021100052063
申请人: 平安科技(深圳)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种大数据处理方法,其特征在于,所述大数据处理方法包括:定义SQL语法结构;

当接收到待处理数据时,根据所述SQL语法结构对所述待处理数据进行解析,生成抽象语法树;

对所述抽象语法树进行转化,得到第一执行计划;

检测所述待处理数据的执行环境,并根据所述执行环境对所述抽象语法树进行优化,得到第二执行计划,其中,所述检测所述待处理数据的执行环境,并根据所述执行环境对所述抽象语法树进行优化包括:连接至所述待处理数据的配置文件;从所述配置文件中获取所述待处理数据的执行环境;响应于所述执行环境为Spark执行环境,从所述抽象语法树中获取临时表,并将所述临时表转化为视图数据,并将所述视图数据压缩为parquet格式;及/或响应于所述执行环境为Hive执行环境,从所述抽象语法树中获取小于或者等于配置大小的数据,并对获取的数据进行合并,得到中间数据,将所述中间数据压缩为orc格式;

根据所述执行环境确定目标接口,并启动与所述目标接口对应的执行引擎执行所述第一执行计划及所述第二执行计划。

2.如权利要求1所述的大数据处理方法,其特征在于,所述根据所述SQL语法结构对所述待处理数据进行解析,生成抽象语法树包括:调用线程启动预设语法分析器,所述预设语法分析器包括SQL Lexer组件及SQL Parser组件;

调用所述SQL Lexer组件对所述待处理数据进行词法解析,生成第一数据;

调用所述SQL Parser组件,并基于所述SQL语法结构对所述第一数据进行语义解析,生成第二数据;

整合所述第二数据,得到所述抽象语法树。

3.如权利要求1所述的大数据处理方法,其特征在于,所述对所述抽象语法树进行转化,得到第一执行计划包括:

从所述抽象语法树中获取事实数据构建事实表,及从所述抽象语法树中获取维度数据构建维度表;

对所述事实表及所述维度表进行哈希连接,并根据所述事实表生成事实表直方图,根据所述维度表生成哈希表;

根据所述事实表直方图及所述哈希表确定谓词直方图区域;

将所述谓词直方图区域转换为谓词,并将所述谓词下推至数据存储层,得到所述第一执行计划。

4.如权利要求3所述的大数据处理方法,其特征在于,所述根据所述事实表直方图及所述哈希表确定谓词直方图区域包括:获取所述哈希表中的键值,并对所述哈希表中的键值进行排序,得到序列表;

从所述序列表中获取直方图区域;

计算所述直方图区域中与所述事实表直方图对应的每个区域的行数;

按照每个区域的行数由高到低的顺序对每个区域进行排序,并获取排在前预设位的区域作为所述谓词直方图区域。

5.如权利要求1所述的大数据处理方法,其特征在于,所述方法还包括:对于所述第一执行计划中的每个SQL语句,计算每个SQL语句的哈希值;

获取每个SQL语句中预设字符位置上的字符,并将获取的字符与对应的每个SQL语句的哈希值进行组合,得到每个SQL语句的数组;

将每个SQL语句的哈希值确定为每个SQL语句的数组的数组标识;

当接收到待转化数据时,计算所述待转化数据的哈希值;

根据所述待转化数据的哈希值在每个SQL语句的数组的数组标识中进行扫描;

当扫描到与所述待转化数据的哈希值一致的数组标识时,将扫描到的数组标识确定为目标标识,并将与所述目标标识对应的数组确定为目标数组;

获取所述待转化数据的预设字符位置上的字符作为待匹配字符,及获取所述目标数组预设字符位置上的字符作为目标字符;

当所述待匹配字符与所述目标字符一致时,返回所述目标数组中的SQL语句作为与所述待转化数据对应的SQL语句。

6.如权利要求1所述的大数据处理方法,其特征在于,所述根据所述执行环境确定目标接口,并启动与所述目标接口对应的执行引擎执行所述第一执行计划及所述第二执行计划包括:

当所述执行环境为所述Spark执行环境及/或所述Hive执行环境时,将spark/hive引擎接口确定为所述目标接口,并启动所述spark/hive引擎接口执行批处理;或者当所述执行环境为Flink执行环境时,将Flink引擎接口确定为所述目标接口,并启动所述Flink引擎接口执行流处理;或者当所述执行环境为python图像执行环境时,将python图像引擎接口确定为所述目标接口,并启动所述python图像引擎接口执行图像处理;或者当所述执行环境为ElasticSearch半结构化数据执行环境时,将ElasticSearch半结构化数据引擎接口确定为所述目标接口,并启动所述ElasticSearch半结构化数据引擎接口执行非结构化处理。

7.一种大数据处理装置,其特征在于,所述大数据处理装置包括:定义单元,用于定义SQL语法结构;

解析单元,用于当接收到待处理数据时,根据所述SQL语法结构对所述待处理数据进行解析,生成抽象语法树;

转化单元,用于对所述抽象语法树进行转化,得到第一执行计划;

优化单元,用于检测所述待处理数据的执行环境,并根据所述执行环境对所述抽象语法树进行优化,得到第二执行计划,其中,所述检测所述待处理数据的执行环境,并根据所述执行环境对所述抽象语法树进行优化包括:连接至所述待处理数据的配置文件;从所述配置文件中获取所述待处理数据的执行环境;响应于所述执行环境为Spark执行环境,从所述抽象语法树中获取临时表,并将所述临时表转化为视图数据,并将所述视图数据压缩为parquet格式;及/或响应于所述执行环境为Hive执行环境,从所述抽象语法树中获取小于或者等于配置大小的数据,并对获取的数据进行合并,得到中间数据,将所述中间数据压缩为orc格式;

执行单元,用于根据所述执行环境确定目标接口,并启动与所述目标接口对应的执行引擎执行所述第一执行计划及所述第二执行计划。

8.一种电子设备,其特征在于,所述电子设备包括:存储器,存储至少一个指令;及

处理器,执行所述存储器中存储的指令以实现如权利要求1至6中任意一项所述的大数据处理方法。

9.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现如权利要求1至6中任意一项所述的大数据处理方法。