读书频道 > 网络 > Splunk大数据分析
3.6 添加和评估字段
2014-05-30 13:38:47     我来说两句 
收藏    我要投稿   

本文所属图书 > Splunk大数据分析

在大数据和业务智能领域,Splunk是功能强大、简单易学并且能够快速获取直接动力的一个分析工具。你可以利用Splunk实时地监控数据,或者在海量事实中进行数据挖掘。Splunk提供的强有力的可视化工具可以帮助你从海  立即去当当网订购

接下来介绍的一类命令可应用于过滤、修改和添加字段。我们首先学习一个强大的命令eval。eval命令可以用来计算表达式的值并将其存储在一个新的字段里。eval可以对任意表达式进行计算,包括数字、字符串和布尔运算。

如我们之前学习到的stats命令,eval也提供多个函数。这些函数包括一些标准函数,如case、if,还有一些数学函数,如abs、ceiling、floor、log、round等,还有字符串函数,如rtrim、split、substr、tostring等。

我们将通过一个有趣的真实用例来探讨eval命令:判断哪些用户是来逛街而不是来买东西的,哪些用户是真正购买了东西的。这个案例在现实中的商店和网上零售商店都适用。因为 MyGizmoStore.com 是一个网上零售商店,有的用户浏览网站只是浏览商品,并不购买。找出那些仅仅浏览网页的用户和那些真正购买了商品的用户之间的比例将是一件非常有意思的事。

我们可以使用eval命令来查找HTTP状态代码200的基本分布,即请求已经成功,我们再把这个数据和MyGizmoStore.com的样本数据中剩下的HTTP状态码数据进行对比。这个操作并不能让我们获得购买了商品的用户的比例数据,但它能让我们对在网站上的所有成功和失败事件有更深层次的了解。

Splunk还允许我们使用星号“*”来代表所有。通常情况下,在日志文件中我们有各种不同类型的访问形式,我们很有可能将处理和分析所有这些不同类型的访问形式。为了完成这个处理过程,我们需要更改搜索语句,将sourcetype赋值为access_*,这个语句可以将所有access_前缀的源数据搜索出来。我们使用eval命令来判断事件中是否有200状态码。通过这个操作,我们可以将所有的成功事件获取到OK事件中,剩下的归类到FAILED事件中。这个汇总后的值将存储进入SuccessRatio字段。结果如图3-25所示。在对MyGizmoStore.com样本数据中的8688个事件进行处理后,我们可以看到FAILED事件的数目要大于OK事件的。

 

现在我们对eval命令有了初步的了解,接下来将找出购买量和页面浏览量的比例。要做到这一点,找出包含GET方法的事件,并且使用管道操作将这些事件作为stats命令的输入,找出实际的页面浏览量。然后,使用eval命令来计算带有购买行为的事件数目。我们还将使用到stats命令中的AS参数,对得到的结果重命名为Page_Views和Actual_Purchases。在搜索栏中输入以下搜索语句:

 

如图3-26所示,系统共有6176个事件中包含GET方法,即有6176的页面浏览量,但只有144是实际购买的数量。

 

Splunk的eval命令也可以用来计算值之间的百分比差异。我们将刚刚得到的搜索语句进行扩展,使用管道操作将得到的结果作为输入,再次使用eval命令来计算实际购买量和页面访问量的百分比。并将这个值存储在一个名为PCTofPurchases的字段里。

 

其他用于过滤、修改和添加字段的一些命令还有lookup、rex、replace和fields。我们将在第11章中对航班准点率项目进行处理和分析时广泛使用lookup命令。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:3.5 过滤
下一篇:3.7 聚合
相关文章
图文推荐
1.2.2 包与帧
1.2.1 网络协议栈
云数据中心网络技术
3.4.6 文本约定
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站