一种基于类SQL的数据文件分析处理方法、装置及电子设备制造方法及图纸

技术编号:29489325 阅读:10 留言:0更新日期:2021-07-30 19:00
本发明专利技术涉及大数据分析技术领域,公开了一种基于类SQL的数据文件分析处理方法、装置及电子设备,所述基于类SQL的数据文件分析处理处理方法,包括:接收类SQL语句,对类SQL语句进行分析转换为多组语法算子;调用数据文件,各语法算子按照相互之间的逻辑关系针对数据文件进行运算分析处理。本发明专利技术的基于类SQL的数据文件分析处理方法,分析者只需要通过输入类SQL语句,类SQL语句被分析转换为多组语法算子,将待分析数据文件load到内存,多组语法算子进行分析计算最终输出结果;本发明专利技术的基于类SQL的数据文件分析处理方法采用了类SQL+内存计算的方式,完美的实现了低学习成本,减少有统一规则的文本数据分析统计成本,同时实现了即时即用的目标。

【技术实现步骤摘要】
一种基于类SQL的数据文件分析处理方法、装置及电子设备
本专利技术涉及大数据分析
,具体的涉及一种基于类SQL的数据文件分析处理方法、装置及电子设备。
技术介绍
随着互联网行业的高速发展,大数据分析也渐渐的普及,经常会出现大量的有固定schema数据文件分析的场景,schema(模式)又称架构,架构的定义是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。在这里,我们可以将架构看成一个存放数据库中对象的一个容器。固定schema的数据文件常见的比如日志文件、execl格式大文件,类似文件如果想要进行数据分析和统计,需要借助分析软件(execl,Hadoop,presto等)或脚本(bash中的awk,sort组合使用)。现有技术的缺点:一、分析软件execl和脚本bash脚本基于主机内存处理,可以达到分析和统计目的,但是execl的学习成本、bash命令的使用成本都非常之高。二、Hadoop(分布式系统基础架构),presto(分布式SQL查询引擎)等属于大数据
开源服务,但是安装成本和学习成本也很高,并且待分析数据需要解析后独立存储才能在此之上进行数据分析和统计,无法达到即开即用的目标。有鉴于此,特提出本专利技术。
技术实现思路
为了解决以上问题,本专利技术提出了一种基于类SQL的数据文件分析处理处理方法,包括:接收类SQL语句,对类SQL语句进行分析转换为多组语法算子;调用数据文件,各语法算子按照相互之间的逻辑关系针对数据文件进行运算分析处理。作为本专利技术的可选实施方式,所述接收类SQL语句,对类SQL语句进行分析转换为多组语法算子包括:基于接收的类SQL语句进行关键记号提取;根据提取的关键记号,进行整体的类SQL语句切分,将每个关键记号对应的SQL子句切分成查询节点Query;将切分的每组查询节点Query进行语法抽象,转换为语法算子。作为本专利技术的可选实施方式,根据各查询节点Query对应的SQL语句组在类SQL语句中的相互关联关系确定语法算子之间的相互逻辑关系;根据语法算子之间的相互逻辑关系将各语法算子进行连接,将整体的类SQL语句转换为由多组语法算子组合成的抽象语法树。作为本专利技术的可选实施方式,所述调用本机存储的数据文件,控制各语法算子按照相互之间的逻辑关系针对数据文件进行运算分析处理包括:根据抽象语法树的上下文结构连接注册的各组语法算子;调用数据文本加载至运行内存中;各组语法算子按照连接关系针对数据文件进行运算、分析以及统计计算。作为本专利技术的可选实施方式,所述基于接收的类SQL语句进行关键记号提取包括:基于类SQL语句,提取关键记号包括选择“SELECT”、来自于“FROM”、定位“WHERE”、被订阅“ORDERBY”、限制于“LIMIT”、计算总数“COUNT”中的一个或者多个的组合。作为本专利技术的可选实施方式,所述的语法算子包括“Fields”算子、“GroupBy”算子、“OrderBy”算子、“Where”算子、“Count”算子、“Distinct”算子、“Avg”算子、“Sum”算子、“Max”算子、“Min”算子、“FROM_UNIXTIME”算子、“UNIX_TIMESTAMP”算子中的一个或者多个的组合。本专利技术同时提供一种基于类SQL的数据文件分析处理处理装置,包括:语法算子转换模块,接收类SQL语句,对类SQL语句进行分析转换为多组语法算子;算子管理器,统一管理维护所有语法算子的输入、输出以及计算方法,调用本机存储的数据文件,控制各语法算子按照相互之间的逻辑关系针对数据文件进行运算分析处理。作为本专利技术的可选实施方式,所述的语法算子转换模块包括:记号提取器,基于接收的类SQL语句进行关键记号提取;Query切分器,根据提取的关键记号,进行整体的类SQL语句切分,将每个关键记号对应的SQL子句切分成查询节点Query;抽象语法树分析器,将切分的每组查询节点Query进行语法抽象,转换为语法算子,根据各查询节点Query对应的SQL子句在类SQL语句中的相互关联关系确定语法算子之间的相互逻辑关系,根据语法算子之间的相互逻辑关系将各语法算子进行连接,将整体的类SQL语句转换为由多组语法算子组合成的抽象语法树。本专利技术还提供了一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行所述基于类SQL的数据文件分析处理处理方法。本专利技术还提供了一种计算机可读存储介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现所述基于类SQL的数据文件分析处理处理方法。与现有技术相比,本专利技术的有益效果:本专利技术的基于类SQL的数据文件分析处理方法,分析者只需要通过输入类SQL语句,类SQL语句被分析转换为多组语法算子,将待分析数据文件load到内存,多组语法算子进行分析计算最终输出结果。本专利技术的基于类SQL的数据文件分析处理方法采用了类SQL+内存计算的方式,完美的实现了低学习成本,减少有统一规则的文本数据分析统计成本,同时实现了即时即用的目标。附图说明:图1本专利技术基于类SQL的数据文件分析处理方法的流程框图;图2本专利技术基于类SQL的数据文件分析处理方法中步骤S120的流程框图示例;图3本专利技术基于类SQL的数据文件分析处理方法中步骤S220的流程框图示例;图4本专利技术基于类SQL的数据文件分析处理装置的结构框图及工作流程示例;图5本专利技术的类SQL语法示例;图6本专利技术的类SQL语句中条件运算符示例;图7本专利技术的类SQL语句中聚合函数示例。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本专利技术实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。因此,以下对本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的部分实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征和技术方案可以相互组合。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本专利技术的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,这类术语仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的本文档来自技高网...

【技术保护点】
1.一种基于类SQL的数据文件分析处理处理方法,其特征在于,包括:/n接收类SQL语句,对类SQL语句进行分析转换为多组语法算子;/n调用数据文件,各语法算子按照相互之间的逻辑关系针对数据文件进行运算分析处理。/n

【技术特征摘要】
1.一种基于类SQL的数据文件分析处理处理方法,其特征在于,包括:
接收类SQL语句,对类SQL语句进行分析转换为多组语法算子;
调用数据文件,各语法算子按照相互之间的逻辑关系针对数据文件进行运算分析处理。


2.根据权利要求1所述的一种基于类SQL的数据文件分析处理处理方法,其特征在于,所述接收类SQL语句,对类SQL语句进行分析转换为多组语法算子包括:
基于接收的类SQL语句进行关键记号提取;
根据提取的关键记号,进行整体的类SQL语句切分,将每个关键记号对应的SQL子句切分成查询节点Query;
将切分的每组查询节点Query进行语法抽象,转换为语法算子。


3.根据权利要求2所述的一种基于类SQL的数据文件分析处理处理方法,其特征在于,根据各查询节点Query对应的SQL子句在类SQL语句中的相互关联关系确定语法算子之间的逻辑关系;根据语法算子之间的相互逻辑关系将各语法算子进行连接,将整体的类SQL语句转换为由多组语法算子组合成的抽象语法树。


4.根据权利要求3所述的一种基于类SQL的数据文件分析处理处理方法,其特征在于,所述调用本机存储的数据文件,控制各语法算子按照相互之间的逻辑关系针对数据文件进行运算分析处理包括:
根据抽象语法树的上下文结构连接注册的各组语法算子;
调用数据文本加载至运行内存中;
各组语法算子按照连接关系针对数据文件进行运算、分析以及统计计算。


5.根据权利要求2所述的一种基于类SQL的数据文件分析处理处理方法,其特征在于,所述基于接收的类SQL语句进行关键记号提取包括:
基于类SQL语句,提取关键记号包括提取关键记号包括提取SELECT子句中的关键记号“SELECT”、和/或提取FROM子句中的关键记号“FROM”、和/或提取WHERE子句中的关键记号“WHERE”、和/或提取ORDERBY子句中的关键记号“ORDERBY”、和/或提取LIMIT子句中的关键记号“LIMIT”、和/或提取COUNT子句中的关键记号“COUNT”。<...

【专利技术属性】
技术研发人员:郑晓旭
申请(专利权)人:作业帮教育科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1