大数据平台之 SQL 扫描服务(一) - 需求分析+流程分析+功能分析

目录

1. 需求分析

2. 流程分析

3. 功能分析

4. 结论

1. 需求分析

 

在最近的工作需求中,想针对大数据平台的 SQL执行  功能加入 SQL检测  能力,进而可以在用户将 SQL 提交给 Hive引擎 或者 Spark引擎  执行之前,可以捕获到精确的报错信息,整体流程图如下所示:

 

2. 流程分析

 

 

主要执行流程如下所示:

  1. 用户提交 SQL 后,平台先调用【SQL扫描服务】的 check 接口,从服务中定义的一系列规则中进行检测,如果检测到异常,则返回【不通过】+【明确的报错提醒】
  2. 如果在【SQL扫描服务】中没有检测到异常,则执行原有逻辑。如果执行不成功,则将具体的 SQL 以及报错的堆栈信息返回给【SQL扫描服务】,【SQL扫描服务】返回通用的报错提醒
  3. 【SQL扫描服务】根据第 2 步上报的 SQL 以及分析报错信息,进行人为分析,在【SQL扫描服务】中加入最新的检测规则

 

3. 功能分析

 

进而定义出【SQL扫描服务】应该具有的能力边界,如下图所示:

 

 

【SQL扫描服务】应该包含的主要功能点分析:

  1. SQL Check接口:根据定义的规则集合以及规则集合中的顺序,依次进行检测,返回成功/失败等信息
  2. 错误上报接口:大数据平台上报没有检测到的 SQL 以及错误详情
  3. 模型规则的新增、启停控制
  4. 模型规则的优先级控制
  5. 错误日志记录功能

 

4. 结论

 

经过以上分析,目前最需要解决的一个问题是应该以什么方式对 SQL 进行解析。因为数据都是存在 Hive 表中,使用 Hive SQL 进行查询,故而需要分析下 Hive 本身的 SQL 解析流程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值