使用AWK規整KyLin日誌改進
在前文的基礎上,增加了改進。
主要是細節格式的調整.
處理100M資料用時7s
http://blog.itpub.net/29254281/viewspace-2156713/
time awk '
function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }
function rtrim(s) { sub(/[ \t\r\n]+$/, "", s); return s }
function trim(s) { return rtrim(ltrim(s)); }
/^Query Id:/{split($0,rowdata,":");}
/^SQL:/{s=trim($0);next;}
/^User:/{print "19700101 000000000 INFO [Query "trim(rowdata[2])" "s;s="";print $0;}
/^==========================/{delete rowdata;}
{
if(rowdata[2]!="")
if(s!="") s=(s" "trim($0))
else
print "19700101 000000000 INFO [Query "trim(rowdata[2])" "$0;
else gsub("[,:-]","",$1);gsub("[,:-]","",$2);$5=substr($5,0,36);print ($0);
}
' kylinbig.log | grep "\\[Query" | nl -n ln | tr "\t" " " | tr -s ' ' ' ' | sort -k6,6 -k1n,1 | cut -d ' ' -f 2,3,4,6- | sed '/Using project:/{x;p;x;}' > t1.txt
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2156921/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用AWK規整KyLin日誌
- awk分析日誌
- 【awk】按小時切割日誌
- awk多行日誌排序輸出排序
- 使用shell進行日誌分析
- AWK應用之統計訪問日誌
- 日誌規約
- awk統計訪問nginx日誌次數Nginx
- oracle線上調整重做日誌Oracle
- Oracle重做日誌調整技巧Oracle
- 在ORACLE中對線上重做日誌檔案進行調整Oracle
- 日誌--列印規範
- [AWK]使用AWK進行分割字串以及擷取字串字串
- 改變日誌檔案大小
- SLS 查詢新正規化:使用 SPL 對日誌進行互動式探索
- mysql 日誌之二進位制日誌MySql
- Oracle調整redo log日誌大小Oracle
- Oracle補充日誌及日誌記錄規則Oracle
- 使用Log4j進行日誌操作
- 使用Java和Elastic Stack進行日誌分析JavaAST
- 日誌分析常規操作
- mysql之 日誌體系(錯誤日誌、查詢日誌、二進位制日誌、事務日誌、中繼日誌)MySql中繼
- 開發日誌:Kylin麒麟作業系統部署ASP.NET CORE作業系統ASP.NET
- 用AWK來過濾nginx日誌中的特定值~~~薦Nginx
- Gin 框架 - 使用 logrus 進行日誌記錄框架
- 使用canal偷取MySQL的二進位制日誌MySql
- 使用shell指令碼對Nginx日誌進行切分指令碼Nginx
- ABP 使用ElasticSearch、Kibana、Docker 進行日誌收集ElasticsearchDocker
- 使用Oracle的logminer工具進行日誌挖掘Oracle
- 使用apache日誌進行訪問ip的排序Apache排序
- 使用Log4j進行日誌記錄
- .Net Core中使用DiagnosticSource進行日誌記錄
- 怎樣改變重做日誌的大小
- 改變歸檔日誌檔案大小
- Python程式碼整潔之道--使用裝飾器改進程式碼Python
- 管理oracle日誌之調整檢查點Oracle
- 對比Elasticsearch,使用Doris進行高效日誌分析(下)Elasticsearch
- 對比Elasticsearch,使用Doris進行高效日誌分析(上)Elasticsearch