《大数据导论》课件-第7章 日志分析实战_第1页
《大数据导论》课件-第7章 日志分析实战_第2页
《大数据导论》课件-第7章 日志分析实战_第3页
《大数据导论》课件-第7章 日志分析实战_第4页
《大数据导论》课件-第7章 日志分析实战_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据导论1.日志生成目录01概述02日志生成必要性03日志分析日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。本文讨论的日志处理方法中的日志,仅指Web日志。其实并没有精确的定义,可能包括但不限于各种前端Web服务器——apache、lighttpd、tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的日志。在Web日志中,每条日志通常代表着用户的一次访问行为。从日志中,我们可以得到很多有用的信息,例如访问者的IP、访问的时间、访问的目标网页、来源的地址以及访问者所使用的客户端的UserAgent信息等。如果需要更多的信息,则要用其它手段去获取:例如想得到用户屏幕的分辨率,一般需要使用js代码单独发送请求;而如果想得到诸如用户访问的具体新闻标题等信息,则可能需要Web应用程序在自己的代码里输出。日志生成必要性毫无疑问,Web日志中包含了大量人们——主要是产品分析人员会感兴趣的信息,最简单的,我们可以从中获取网站每类页面的PV值(PageView,页面访问量)、独立IP数(即去重之后的IP数量)等;稍微复杂一些的,可以计算得出用户所检索的关键词排行榜、用户停留时间最高的页面等;更复杂的,构建广告点击模型、分析用户行为特征等等。既然这些数据是如此的有用,那么当然已经有无数现成的工具可以帮助我们来分析它们,例如awstats、Webalizer,都是专门用于统计分析Web服务器日志的免费程序。另外还有一类产品,它们不分析直接日志,而是通过让用户在页面中嵌入js代码的方式来直接进行数据统计,或者说我们可以认为它是直接让日志输出到了它们的服务器。典型的代表产品——大名鼎鼎的GoogleAnalytics,另外还有国内的cnzz、百度统计等。很多人可能会说,既然如此,我们为什么还需要自己来分析日志,有必要吗?当然有。我们的用户(产品分析人员)需求是无穷尽的,上面说的这几类工具虽然很好很强大,但显然没办法满足全部的需求。日志要求怎么进行日志分析:这并不是一个简单的问题。即使我们把“日志”限定为Web日志,依然包含了成千上万种可能的格式和数据,而是“分析”更是难以定义,也许是简单的统计值的计算,也许是复杂的数据挖掘算法。下面并不打算讨论这些复杂的问题,而只是笼统的讨论如何构建进行日志分析工作的基础。有了这些基础会让基于日志的简单统计分析变得很简单,并让复杂的分析挖掘等变得可行。少量数据的情况:先考虑最简单的情况,在数据规模比较小的时候,也许是几十MB、几百MB或者几十GB,总之就是在单机处理尚能忍受的时候。一切都很好办,现成的各种Unix/Linux工具——awk、grep、sort、join等都是日志分析的利器,如果仅仅是想知道某个页面的PV,一个wc+grep就能搞定。如果有稍复杂的逻辑,那就使用各种脚本语言,尤其是perl,配合伟大的正则表达式,基本就可以解决所有的问题。日志分析大数据导论2.日志格式介绍目录01日志简介03日志举例02日志要求04json格式日志日志(Log)

日志(Log)是系统在运行过程中变化的一种抽象,其内容为指定对象的某些操作和其操作结果按时间的有序集合。文件日志(LogFile)、事件(Event)、数据库日志(BinLog)、度量(Metric)数据都是日志的不同载体。在文件日志中,每个日志文件由一条或多条日志组成,每条日志描述了一次单独的系统事件,是日志服务中处理的最小数据单元。日志简介日志服务采用半结构数据模式定义一条日志。该模式中包含主题(Topic)、时间(Time)、内容(Content)、来源(Source)和标签(Tags)五个数据域。日志要求日志服务对日志各字段的格式有不同要求,具体如下表所示:数据域含义格式主题(Topic)用户自定义字段,用以标记一批日志。例如访问日志可根据不同站点进行标记。包括空字符串在内的任意字符串,长度不超过128字节。默认情况下,该字段为空字符串。时间(Time)日志中的保留字段,用以表示日志产生的时间,一般由日志中的时间信息直接提取生成。整型,Unix标准时间格式。单位为秒,表示从1970-1-100:00:00UTC计算起的秒数。内容(Content)用以记录日志的具体内容。内容部分由一个或多个内容项组成,每一个内容项为一个Key-Value对。Key为UTF-8编码字符串,包含字母、下划线和数字,且不以数字开头。长度不超过128字节。不可以使用如下关键字:__time____source____topic____partition_time___extract_others___extract_others__Value为任意字符串,长度不超过1024*1024字节。来源(Source)日志的来源地,例如产生该日志机器的IP地址。任意字符串,长度不超过128字节。默认情况下该字段为空。标签(Tags)日志的标签,包括:用户自定义标签:您通过APIPutLogs写入数据时添加的标签。字典格式,Key和Value均为字符串类型。在控制台查询日志时,以__tag__:为前缀展示。日志要求实际使用场景中,日志的格式多样。为了帮助理解,以下以一条nginx原始访问日志如何映射到日志服务日志数据模型为例说明。假设用户nginx服务器的IP地址为17,以下为该服务器的一条原始日志:92--[01/Mar/2012:18:12:07+0800]"GET/Send?AccessKeyId=8225105404HTTP/1.1"2005"-""Mozilla/5.0(X11;Linuxi686onx86_64;rv:10.0.2)Gecko/20100101Firefox/10.0.2"日志举例把该条原始日志映射到日志服务日志数据模型,如下:数据域内容说明Topic“”沿用默认值,即空字符串。Time1331588527日志产生的精确时间,表示从1970-1-100:00:00UTC计算起的秒数。从原始日志中的时间转换为时间戳。ContentKey-Value对日志具体内容。Source“12.249.221.107”使用服务器IP地址作为日志源。Tags无由用户添加或者服务端添加。日志举例用户可以自己决定如何提取日志原始内容并组合成Key-Value对,例如下表:keyvalueip93methodGETstatus200length5ref_url-browserMozilla/5.0(X11;Linuxi686onx86_64;rv:10.0.2)Gecko/20100101Firefox/10.0.2日志举例JSON(JavaScriptObjectNotation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。一段json格式的日志:{"name":"李四","sex":"女","年龄":20,"生日":"2016-01-0223:12:13"}json格式日志大数据导论3.回流用户分析教学设计

教育培训

信息化

微课目录01回流用户定义02回流用户分析回流用户定义01回流用户:相当于回头客,以前用过某物,过一段时间再次使用某物,这样的用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论