基于SQL的日志分析工具myselect
时间:2022-03-10 18:08
where_condition
用and 连接起来的关系表达式,目前还不支持or, 支持如下的操作符
=,!=,>,<,>=,<=,like,rlike
like表示是否包括相应字符串,rlike表示正则匹配相应模式
原计划myselect用go语言实现,并看了一遍go手册,但在我们组内技术期刊投稿截止之前的很短时间里无法用一门刚看的语言来实现它,转而先用php实现一个了版本,并且基本可用,目前实现的php版本实现了主要的sql select 语句语法,像as关键字及or逻辑操作符还没有实现,但这不重要。在日志文件很大时,php实现的版本在性能以及内存占用上都无法达到真正实用状态,但相信不久就会有go语言实现的高可用版本。
对于不熟悉awk或一下无法记起awk语法细节的人来说,在需要分析日志时myselect可以很好实现我们的需求,sql语言大家都应该是很熟悉的。
本工具源码已放到到了 github
基本实现算法在里面,接下来要翻译成go语言实现,go语言能很好的满足我们对性能及内存占用的需求,当然极大的日志你要借助于hadoop,hive等分布式计算工具
基于SQL的日志分析工具myselect,布布扣,bubuko.com