CN113961588A - 一种基于可配置参数的大数据sql程序设计方法 - Google Patents
一种基于可配置参数的大数据sql程序设计方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query 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程序设计方法,具体过程为:
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
(2)SQL脚本参数:对于SQL脚本参数,配置参数名称、参数类型、参数内容、数据源和备注,其中,参数内容为sql脚本,sql脚本可以引用其他类型的参数。
SQL脚本参数的配置举例如表2所示:
表2
(3)HTTP地址参数:对于HTTP地址参数,配置参数名称、参数类型、参数内容和备注;HTTP地址参数支持通过url动态获取参数值,支持url中引用其他参数。
HTTP地址参数的配置举例如表3所示:
表3
需要说明的是,在任务配置中,任务参数或者脚本正文中能引用上述参数。
例如,在参数管理中配置了参数,参数名称为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中引用其他参数。
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)
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 | 网银在线(北京)科技有限公司 | 数据查询方法、装置、设备及存储介质 |
-
2021
- 2021-10-27 CN CN202111254921.7A patent/CN113961588A/zh active Pending
Patent Citations (7)
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 |