python解析sql语句,基于python分析业务SQL常用查询字段

背景

由于业务灵活的查询需求,会演变成各种各样的SQL语句,但是对于目前的SQL语句并没有做到分文别类的归纳整理。不能很好的把握业务脉络,理解业务需求。导致cube频繁修改,加大cube开发人员的工作量。从而导致了cube使用的体验欠佳。基于以上的业务背景,所以想收集到某段时间业务查询某个cube的所有SQL,进行分析整理,统计排序,直观且具体的了解到业务常用字段

工具

python+excel+influxdb

实现逻辑

收集某段时间查询某个cube的所有SQL

目前比较快速的方法就是通过KM自带的influxdb实现数据的导出,可以规定导出某个cube的某段时间的查询SQL.保存到一个文件里。不限文件格式,获取命令

influxdb -host ip -port port -database database -execute “SQL content” -format ‘format’

使用脚本读取

解析规则:只需要截取出select from之间的字段,当然这个解析规则同样适用于带子查询的SQL, 为什么没有 where 和group by的字段?因为在绝大数情况下,过滤和分组字段都包含到select 和from之间。不解析别名,因为不同的查询会对应不同的别名。直接定位到表名+列名,这样对cube优化会起到一个参考指,指导哪些是常用维度,在下一个cube版本迭代开发,或者修改时,对于聚合组中的联合维度和rowkey设计的选择给到数据支持。

解些逻辑如下:

import re

import os

import csv

import operato

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值