一种基于tagSQL的数据处理方法、系统及装置制造方法及图纸

技术编号:22135257 阅读:33 留言:0更新日期:2019-09-18 08:58
本发明专利技术公开了一种基于tagSQL的数据处理方法、系统及装置,方法包括以下步骤:接收tagSQL xml文件和过程请求;根据过程请求获取tagSQL应用进程;tagSQL应用进程对tagSQL xml文件进行解析得到第一过程;将过程请求转发到tagSQL应用进程,使tagSQL应用进程从第一过程中获取第二过程,并执行第二过程;其中,所述tagSQL xml文件包含客户端按照tagSQL xml标签要求进行业务逻辑处理的信息。本发明专利技术通过将Spark SQL变成类SQL存储过程的编程语言,从而兼容多种接口语言。本发明专利技术可广泛应用于大数据技术领域。

A Data Processing Method, System and Device Based on tagSQL

【技术实现步骤摘要】
一种基于tagSQL的数据处理方法、系统及装置
本专利技术涉及大数据
,尤其是一种基于tagSQL的数据处理方法、系统及装置。
技术介绍
ApacheSpark(基于内存计算的开源的集群计算系统)是专为大规模数据处理而设计的快速通用的计算引擎,具有HadoopMapReduce所具有的优点,但是不同于MapReduce(编程模型)的是:运行中间输出结果可以保存在内存中,从而不再需要读写HDFS(HadoopDistributedFileSystem,Hadoop项目的核心子项目),所以Spark(开源集群计算环境)能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。SparkSQL是Spark处理数据的一个模块,跟基本的SparkRDD(弹性分布式数据集)的api(应用程序编程接口)不同,SparkSQL中提供的接口将会提供给Spark更多关于结构化数据和计算的信息。SparkSQL的一个作用是执行SQL查询语句,也可以从hive(基于Hadoop的数据仓库工具)中读取数据,当使用其它编程语言来运行一个SQL语句时,结果会返回一个Dataset(独立数据集合)或者DataFrame(二位数据结构),具体可以使用命令行、JDBC(JavaDtatabaseConnectivity,Java数据库连接)或者ODBC(OpenDatabaseConnectivity,开放数据库连接)的方式与SQL交互。SparkSQL提供了几种调用方式:命令行、javaapi、pythonapi、scalaapi,这几种调用方式适用于不同的使用人员,但是,由于现有技术的SQL编程的命令行只能满足单行语句调用,而SQL的大部分编程人员又没有掌握另外三种接口语言,所以程序员无法快速开展大数据开发工作。
技术实现思路
为解决上述技术问题,本专利技术的目的在于:提供一种能兼容多种接口语言的基于tagSQL的数据处理方法、系统及装置。本专利技术采用的第一种技术方案是:一种基于tagSQL的数据处理方法,包括以下步骤:接收tagSQLxml文件和过程请求;根据过程请求获取tagSQL应用进程;tagSQL应用进程对tagSQLxml文件进行解析得到第一过程;将过程请求转发到tagSQL应用进程,使tagSQL应用进程从第一过程中获取第二过程,并执行第二过程;其中,所述tagSQLxml文件包含客户端按照tagSQLxml标签要求进行业务逻辑处理的信息。进一步地,在接收过程请求时,还包括以下步骤:发送Spark应用进程到Spark模块,并接收Spark模块返回的Sparksession对象;其中,Spark模块的资源管理器采用的是yarn。进一步地,所述对tagSQLxml文件进行解析,其具体为:从tagSQLxml文件的根目录开始解析所有的tagSQLxml文件,将tagSQLxml文件中的tagSQLxml标签转换为树结构中对应的树节点对象;其中,树节点对象包含有SQL类型对象、imp类型对象和exp类型对象。进一步地,所述在对tagSQLxml文件进行解析时,还包括以下步骤:对每一个可执行过程对象设置一个全局标识。进一步地,所述从第一过程中获取第二过程,其具体为:通过kettle从第一过程中获取第二过程。进一步地,所述执行第二过程,其具体为:基于Hadoop集群执行第二过程;其中,Hadoop集群包含hdfs、yarn、Hbase、hive、Spark、oracle和mySQL。进一步地,所述基于Hadoop集群执行第二过程,其具体为:基于Hadoop集群解释并运行树结构的树节点对象。进一步地,所述解释树结构的树节点对象,其具体为:通过调用树节点对象的解释器模式解释树节点对象。本专利技术采用的第二种技术方案是:一种基于tagSQL的数据处理系统,包括:接收模块,用于接收tagSQLxml文件和过程请求;获取模块,用于根据过程请求获取tagSQL应用进程;解析模块,用于tagSQL应用进程对tagSQLxml文件进行解析得到第一过程;执行模块,用于将过程请求转发到tagSQL应用进程,使tagSQL应用进程从第一过程中获取第二过程,并执行第二过程;其中,所述tagSQLxml文件包含客户端按照tagSQLxml标签要求进行业务逻辑处理的信息。本专利技术采用的第三种技术方案是:一种基于tagSQL的数据处理装置,包括:至少一个存储器,用于存储程序;至少一个处理器,用于加载所述程序以实现所述的一种基于tagSQL的数据处理方法。本专利技术的有益效果是:通过根据过程请求提取的tagSQL应用进程,并将tagSQLxml文件解析转换为第一过程,再根据过程请求从第一过程中提取需要执行的第二过程,tagSQL应用进程执行第二过程,使得SparkSQL变成类SQL存储过程的编程语言,从而能够兼容多种接口语言,使程序员从传统的数据处理技术切换到大数据处理技术时,无需掌握api、java、python和scala等接口语言,就能快速开展大数据的开发工作。附图说明图1为本专利技术具体实施例的一种基于tagSQL的数据处理方法的流程图;图2为本专利技术具体实施例的一种基于tagSQL的数据处理系统的模块框图;图3为本专利技术具体实施例的基于tagSQL的数据处理的流程图。具体实施方式下面结合附图和具体实施例对本专利技术做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。参照图1,一种基于tagSQL的数据处理方法,包括以下步骤:S101、接收tagSQLxml文件和过程请求;具体地,所述tagSQL是一种标签SQL语言。所述tagSQLxml是标签SQL语言形成的文件。通过kettle(开源的ETL调度工具)或者tagSQLDevTool(调试工具)发送tagSQLxml文件和过程请求。mainServer(服务器)接收kettle或者tagSQLDevTool发送的tagSQLxml文件和过程请求。其中,kettle是调度工具,tagSQLDevTool是用来开发和调试tagSQLxml文件的工具。S102、根据过程请求获取tagSQL应用进程;具体地,所述tagSQL应用进程是从进程池中提取的。进程池是用于存放tagSQL应用进程,其位于mainServer中。所述tagSQL应用进程是运行在Spark上面的一个应用。mainServer接收到过程请求后,从进程池中提取可用的tagSQL应用进程进行具体的业务处理。S103、tagSQL应用进程对tagSQLxml文件进行解析得到第一过程;具体地,所述第一过程为tagSQL应用进程对tagSQLxml文件进行解析得到可执行过程对象。所述可执行过程对象存放在tagSQL应用进程内的过程池中。所述可执行过程对象的内部结构是一个树结构。S104、将过程请求转发到tagSQL应用进程,使tagSQL应用进程从第一过程中获取第二过程,并执行第二过程;具体地,所述第二过程是第一过程(也称为可执行过程对象)中需要执行的过程对象。tagSQL应用进程接收到mainServer转发过来的过程请求时,从本文档来自技高网
...

【技术保护点】
1.一种基于tagSQL的数据处理方法,其特征在于:包括以下步骤:接收tagSQL xml文件和过程请求;根据过程请求获取tagSQL应用进程;tagSQL应用进程对tagSQL xml文件进行解析得到第一过程;将过程请求转发到tagSQL应用进程,使tagSQL应用进程从第一过程中获取第二过程,并执行第二过程;其中,所述tagSQL xml文件包含客户端按照tagSQL xml标签要求进行业务逻辑处理的信息。

【技术特征摘要】
1.一种基于tagSQL的数据处理方法,其特征在于:包括以下步骤:接收tagSQLxml文件和过程请求;根据过程请求获取tagSQL应用进程;tagSQL应用进程对tagSQLxml文件进行解析得到第一过程;将过程请求转发到tagSQL应用进程,使tagSQL应用进程从第一过程中获取第二过程,并执行第二过程;其中,所述tagSQLxml文件包含客户端按照tagSQLxml标签要求进行业务逻辑处理的信息。2.根据权利要求1所述的一种基于tagSQL的数据处理方法,其特征在于:在接收过程请求时,还包括以下步骤:发送Spark应用进程到Spark模块,并接收Spark模块返回的Sparksession对象;其中,Spark模块的资源管理器采用的是yarn。3.根据权利要求1所述的一种基于tagSQL的数据处理方法,其特征在于:所述对tagSQLxml文件进行解析,其具体为:从tagSQLxml文件的根目录开始解析所有的tagSQLxml文件,将tagSQLxml文件中的tagSQLxml标签转换为树结构中对应的树节点对象;其中,树节点对象包含有SQL类型对象、imp类型对象和exp类型对象。4.根据权利要求3所述的一种基于tagSQL的数据处理方法,其特征在于:所述在对tagSQLxml文件进行解析时,还包括以下步骤:对每一个可执行过程对象设置一个全局标识。5.根据权利要求1所述的一种基于tagSQL的数据处理方法,其特征在于:所述从第一过程中获取第二过...

【专利技术属性】
技术研发人员:曾洁林
申请(专利权)人:中国邮政集团公司广东省分公司
类型:发明
国别省市:广东,44

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

1