Spark大数据分析实战【1.2】

张开发
2026/4/20 4:38:22 15 分钟阅读

分享文章

Spark大数据分析实战【1.2】
第4章 Lamda架构日志分析流水线4.1 日志分析概述随着互联网的发展,在互联网上产生了大量的Web日志或移动应用日志,日志包含用户最重要的信息,通过日志分析,用户可以获取到网站或应用的访问量,哪个网页访问人数最多,哪个网页最有价值、用户的特征、用户的兴趣等。一般中型的网站(10万的PV[1]以上),每天会产生1GB以上Web日志文件。大型或超大型的网站,可能每小时就会产生500GB~1TB的数据量。对于日志的这种规模的数据,通过Spark进行大规模日志分析与日志处理,能够达到很好的效果。Web日志由Web服务器产生,现在互联网公司使用的主流的服务器可能是Nginx、Apache、Tomcat等。从Web日志中,我们可以获取网站每类页面的PV值(页面浏览)、UV(独立IP数)。更复杂一些的,可以计算得出用户所检索的关键词排行榜、用户停留时间最高的页面等。更为复杂的,构建广告点击模型、分析用户行为特征等。1.日志格式目前常见的Web日志格式主要由两类:一种日志格式是Apache的NCSA日志格式,另一种日志格式是IIS的W3C日志格式。下面以Nginx日志格式为例进行讲解。Nginx日志示例格式:222.68.172.111 - - [18/Sep/2013:06:49:57 +0000]"GET /images/my.jpg HTTP/1.1" 200 19939"http://www.angularjs.cn/A00n" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"以下是本例中涉及的一些要素。·remote_addr:记录客户端的IP地址。本例为222.68.172.111。·remote_user:记录客户端用户名称,本例--表示为空。·time_local:记录访问时间与时区,本例为[18/Sep/2013:06:49:57+0000]。·request:记录请求的URL与HTTP协议,本例为GET/images/my.jpg HTTP/1.1。·status:记录请求状态,成功是200。·body_bytes_sent:记录发送给客户端文件主体内容大小,本例中为19939。·http_referer:用来记录从哪个页面链接访问过来的,http://www.angularjs.cn/A00n。·http_user_agent:记录客户浏览器的相关信息,本例中为Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,like Gecko)Chrome/29.0.1547.66 Safari/537.36。注意 如果用户想要更多的信息,则要用其他手段去获取,通过JS代码单独

更多文章