CN113961588A - 一种基于可配置参数的大数据sql程序设计方法 - Google Patents

一种基于可配置参数的大数据sql程序设计方法 Download PDF

Info

Publication number
CN113961588A
CN113961588A CN202111254921.7A CN202111254921A CN113961588A CN 113961588 A CN113961588 A CN 113961588A CN 202111254921 A CN202111254921 A CN 202111254921A CN 113961588 A CN113961588 A CN 113961588A
Authority
CN
China
Prior art keywords
parameters
parameter
sql
types
configuring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111254921.7A
Other languages
English (en)
Inventor
于洋
高经郡
张洋洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kejie Technology Co ltd
Original Assignee
Beijing Kejie Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kejie Technology Co ltd filed Critical Beijing Kejie Technology Co ltd
Priority to CN202111254921.7A priority Critical patent/CN113961588A/zh
Publication of CN113961588A publication Critical patent/CN113961588A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于可配置参数的大数据SQL程序设计方法,具体过程为:S1、在参数管理中创建参数,根据参数类型来进行配置参数对应的参数值内容;S2、SQL开发时,在系统开发平台填写SQL语句,支持HIVE、SPARKSQL、IMPALA,SQL语句填写中可引用步骤S1中创建的参数;S3、通过获取SQL语句,解析、校验、转换SQL语句;S4、根据步骤S3转换得到的SQL语句,通过JDBC方式连接HIVE或IMPALA进行执行。本发明通过预先配置各种参数,使得在SQL程序开发时可以直接引用相关参数,从而形成一套配置化、标准版和统一化的体系,实现来简化开发。

Description

一种基于可配置参数的大数据SQL程序设计方法
技术领域
本发明涉及SQL程序开发技术领域,具体涉及一种基于可配置参数的大数据SQL程序设计方法。
背景技术
目前现有大数据产品在执行SQL的过程中,只会对SQL语句进行格式化和校验,最终把SQL语句发送给执行引擎来计算结果。另外,在技术产品的使用过程中,使用者针对重复的参数和变量,需要繁琐、重复去填写,从而带来了不必要的工作量,并且要检查值是否正确。
发明内容
针对现有技术的不足,本发明旨在提供一种基于可配置参数的大数据SQL程序设计方法。
为了实现上述目的,本发明采用如下技术方案:
一种基于可配置参数的大数据SQL程序设计方法,具体过程为:
S1、在参数管理中创建参数,根据参数类型来进行配置参数对应的参数值内容;
S2、SQL开发时,在系统开发平台填写SQL语句,支持HIVE、SPARKSQL、IMPALA,SQL语句填写中可引用步骤S1中创建的参数;
S3、通过获取SQL语句,解析、校验、转换SQL语句;
S4、根据步骤S3转换得到的SQL语句,通过JDBC方式连接HIVE或IMPALA进行执行。
进一步地,步骤S1的具体过程为:
所述参数包括如下字段:参数名、参数类型、参数内容、对应数据源、备注;其中所述参数类型包括普通参数、SQL脚本参数或HTTP地址参数;
针对不同类型的参数有不同解析和配置规则:
(1)普通参数:普通参数包含系统内置的参数、根据参数计算出来的参数以及常量;对于普通参数,配置参数名称、参数类型、参数内容和备注;
(2)SQL脚本参数:对于SQL脚本参数,配置参数名称、参数类型、参数内容、数据源和备注,其中,参数内容为sql脚本,sql脚本可以引用其他类型的参数;
(3)HTTP地址参数:对于HTTP地址参数,配置参数名称、参数类型、参数内容和备注;HTTP地址参数支持通过url动态获取参数值,支持url中引用其他参数。
本发明的有益效果在于:本发明通过预先配置各种参数,使得在SQL程序开发时可以直接引用相关参数,从而形成一套配置化、标准版和统一化的体系,实现来简化开发。
附图说明
图1为本发明实施例的方法流程示意图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
本实施例提供一种基于可配置参数的大数据SQL程序设计方法,如图1所示,具体过程为:
S1、在参数管理中创建参数,根据参数类型来进行配置参数对应的参数值内容。
S2、SQL开发时,在系统开发平台填写SQL语句,支持HIVE、SPARKSQL、IMPALA,SQL语句填写中可引用步骤S1中创建的参数。
S3、通过获取SQL语句,解析、校验、转换SQL语句;
S4、根据步骤S3转换得到的SQL语句,通过JDBC方式连接HIVE或IMPALA进行执行。
以下进一步对上述方法进行说明。
步骤S1的具体过程为:
所述参数包括如下字段:参数名、参数类型(普通参数、SQL脚本参数或HTTP地址参数)、参数内容、对应数据源、备注;
针对不同类型的参数有不同解析和配置规则:
(1)普通参数:普通参数包含系统内置的参数、根据参数计算出来的参数以及常量,比如调度时间、调度日期、当前任务id、任务名称、调度时间的加减操作;对于普通参数,配置参数名称、参数类型、参数内容和备注。
对于普通参数的配置举例如表1所示:
表1
Figure BDA0003323759780000041
(2)SQL脚本参数:对于SQL脚本参数,配置参数名称、参数类型、参数内容、数据源和备注,其中,参数内容为sql脚本,sql脚本可以引用其他类型的参数。
SQL脚本参数的配置举例如表2所示:
表2
Figure BDA0003323759780000042
Figure BDA0003323759780000051
(3)HTTP地址参数:对于HTTP地址参数,配置参数名称、参数类型、参数内容和备注;HTTP地址参数支持通过url动态获取参数值,支持url中引用其他参数。
HTTP地址参数的配置举例如表3所示:
表3
Figure BDA0003323759780000052
Figure BDA0003323759780000061
需要说明的是,在任务配置中,任务参数或者脚本正文中能引用上述参数。
例如,在参数管理中配置了参数,参数名称为lastDay;参数类型为普通参数;参数内容为:${#date(0,0,-1):yyyyMMdd#},那么在程序脚本中可以直接写为${#lastDay#}进行引用。
需要说明的是,hive程序设计时可以编写公式,以满足执行定时hive任务时设置不同的参数,公式格式为${公式内容},公式里可以使用时间变量,包括年(year),月(month),日(day),时(hour),分(minute),秒(second);变量格式为#变量名称#或'#变量名称#',如#year#,'#month#'。用##括起来的表示数值型变量,用'##'括起来的表示String型变量(长度为2,小于10的时间变量值在前边自动加0)。
如:select*from sample where year=${#year#-1}
公式里可以进行基本的运算,包括:
1、数值运算:加(+)、减(-)、乘(*)、除(/);
2、字符串连接:"str"+"str2",字符串也可以和数值连接;
3、日期运算:
#date(year+,month+,day+,hour+,minute+,second+):date_for mat_str#。
需要说明的是,date括号内的内容为相对于各时间域的增量值,如date(1)表示当前时间+1年。冒号后边内容为对日期的dateformat格式(用SimpleDateFormat格式化)。
举例:
${#year#+1+'#month#'},
如果设置year=2015,month=5,则解析为2015+1+"05",值为201605
举例:
${#date(1,2,3):yyyy-MM-dd HH:mm:ss#},
如果计算时的时间为2015-05-06 17:00:00,则值为2016-07-0917:00:00
将monty,day,hour等变量以各种运算符组合,可以灵活计算复杂日期。
例如:
1、传入日期的上月最后一天:
${#date(0,0,-day):yyyyMMdd#}
2、传入日期所在的季度:
${(#month#-1)/3+1}
3、传入日期的上一天所在季度:
${((#day#==1)&&((#month#-1)%3==0))?(#month#-2)/3+1:(#month#-1)/3+1}
4、传入日期所在季度第一天:
${#date(0,-(month-1)%3,0):yyyyMM01#}
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。

Claims (2)

1.一种基于可配置参数的大数据SQL程序设计方法,其特征在于,具体过程为:
S1、在参数管理中创建参数,根据参数类型来进行配置参数对应的参数值内容;
S2、SQL开发时,在系统开发平台填写SQL语句,支持HIVE、SPARKSQL、IMPALA,SQL语句填写中可引用步骤S1中创建的参数;
S3、通过获取SQL语句,解析、校验、转换SQL语句;
S4、根据步骤S3转换得到的SQL语句,通过JDBC方式连接HIVE或IMPALA进行执行。
2.根据权利要求1所述的方法,其特征在于,步骤S1的具体过程为:
所述参数包括如下字段:参数名、参数类型、参数内容、对应数据源、备注;其中所述参数类型包括普通参数、SQL脚本参数或HTTP地址参数;
针对不同类型的参数有不同解析和配置规则:
(1)普通参数:普通参数包含系统内置的参数、根据参数计算出来的参数以及常量;对于普通参数,配置参数名称、参数类型、参数内容和备注;
(2)SQL脚本参数:对于SQL脚本参数,配置参数名称、参数类型、参数内容、数据源和备注,其中,参数内容为sql脚本,sql脚本可以引用其他类型的参数;
(3)HTTP地址参数:对于HTTP地址参数,配置参数名称、参数类型、参数内容和备注;HTTP地址参数支持通过url动态获取参数值,支持url中引用其他参数。
CN202111254921.7A 2021-10-27 2021-10-27 一种基于可配置参数的大数据sql程序设计方法 Pending CN113961588A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111254921.7A CN113961588A (zh) 2021-10-27 2021-10-27 一种基于可配置参数的大数据sql程序设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111254921.7A CN113961588A (zh) 2021-10-27 2021-10-27 一种基于可配置参数的大数据sql程序设计方法

Publications (1)

Publication Number Publication Date
CN113961588A true CN113961588A (zh) 2022-01-21

Family

ID=79467402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111254921.7A Pending CN113961588A (zh) 2021-10-27 2021-10-27 一种基于可配置参数的大数据sql程序设计方法

Country Status (1)

Country Link
CN (1) CN113961588A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593203A (zh) * 2009-05-12 2009-12-02 用友软件股份有限公司 带有前处理和后处理的数据库复合查询系统及方法
CN105046150A (zh) * 2015-08-06 2015-11-11 福建天晴数码有限公司 防止sql注入的方法及系统
CN108399196A (zh) * 2018-01-30 2018-08-14 福建星瑞格软件有限公司 数据库sql语句自动生成工具的sql自动执行方法及系统
CN109408540A (zh) * 2018-08-24 2019-03-01 周宁 一种可视化sql查询系统及方法
CN110287211A (zh) * 2019-07-01 2019-09-27 四川新网银行股份有限公司 基于大数据平台的动态sql语句的执行方法
CN112506488A (zh) * 2020-11-16 2021-03-16 贵阳语玩科技有限公司 一种基于sql创建语句生成编程语言类的方法
CN113312374A (zh) * 2021-05-18 2021-08-27 网银在线(北京)科技有限公司 数据查询方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593203A (zh) * 2009-05-12 2009-12-02 用友软件股份有限公司 带有前处理和后处理的数据库复合查询系统及方法
CN105046150A (zh) * 2015-08-06 2015-11-11 福建天晴数码有限公司 防止sql注入的方法及系统
CN108399196A (zh) * 2018-01-30 2018-08-14 福建星瑞格软件有限公司 数据库sql语句自动生成工具的sql自动执行方法及系统
CN109408540A (zh) * 2018-08-24 2019-03-01 周宁 一种可视化sql查询系统及方法
CN110287211A (zh) * 2019-07-01 2019-09-27 四川新网银行股份有限公司 基于大数据平台的动态sql语句的执行方法
CN112506488A (zh) * 2020-11-16 2021-03-16 贵阳语玩科技有限公司 一种基于sql创建语句生成编程语言类的方法
CN113312374A (zh) * 2021-05-18 2021-08-27 网银在线(北京)科技有限公司 数据查询方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN111177231B (zh) 报表生成方法和报表生成装置
US8775926B2 (en) Stylesheet conversion engine
CN106598612B (zh) 一种数据库中数据表的操作方法及系统
CN108121542B (zh) 一种基于MyBatis的SQL语句的配置方法、系统
US8839197B2 (en) Automated analysis of composite applications
CN109947433A (zh) 一种小程序的生成方法、更新方法及装置
CN107463662B (zh) 一种动态Sql查询方法、装置
US11842231B2 (en) Cloud-based API metadata management method and system for integrated API management
US20120174068A1 (en) Testing Software Code
US20090276784A1 (en) Resource management method
CN103049367A (zh) 一种软件自动化测试的方法
CN106776314A (zh) 一种测试系统
CN109144950B (zh) 业务数据的存储方法和装置
CN106021071A (zh) 一种监控sql运行过程的方法和系统
WO2012157082A1 (ja) パラメータ設定装置およびパラメータ設定システム
CN113961588A (zh) 一种基于可配置参数的大数据sql程序设计方法
CN104346378B (zh) 一种实现复杂数据处理的方法、装置及系统
CN112783494A (zh) 一种骨架屏自动生成方法、应用程序页面更新方法及装置
CN110334001A (zh) 一种批量自动生成回声测试的方法和装置
CN114996268A (zh) 自定义报表生成方法和自定义报表生成装置
CN110727677A (zh) 数据仓库内表格的血缘关系追溯的方法和装置
CN105653270A (zh) 一种手机客户端应用程序的开发方法
CN113407457B (zh) 多数据类型参数化定义及程序引用处理方法和系统
CN114443068B (zh) 一种定制化国产操作系统pxe的自动部署方法、系统及装置
CN116975032B (zh) 数据对齐方法、系统和电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20220121

RJ01 Rejection of invention patent application after publication