0%

【Spark 大数据分析实战】小试牛刀

不少实战项目,可以做一个为 小土刀 博客分析访客日志的系统。


更新历史

  • 2020.02.18:重新上线
  • 2019.05.27:完成阅读与读后感

读后感

不少实战项目,可以做一个为 小土刀 博客分析访客日志的系统。但每个项目的局限性都比较大,介绍的也比较简略,主要是一个项目开展的思路学习。

阅读笔记

第 4 章 Lambda 架构日志分析流水线

前三章都是基本介绍,这里不赘述,直接看实战。

从 Web 日志中,我们可以获取各种信息,但是在数据量很大的时候,传统的单机模式就无以为继,就可以用 Spark 来进行处理。

日志分析指标

常用指标有:

  • PV, Page View:网站页面访问数,也称作网站流量
  • UV, Unique Visitor:页面 IP 的访问量统计,访问用户数
  • PVPU, Page View Per User:平均每位用户访问页面数
  • 漏洞模型与转化率
  • 留存率
  • 用户属性

Lambda 架构

日志分析中既有离线大规模分析的需求,又有实时性的需求,这就可以通过采用 lambda 架构构建日志分析流水线。

Lambda 架构的目的是为大数据分析应用程序提供一个低相应延迟的组合数据传输环境。主要分为三层:

  1. 批处理层:Hadoop/Spark, HDFS/HBase 等
  2. 服务层:用于加载和实现数据库中的批处理视图,给用户查询
  3. 快速处理层:流处理

日志分析流水线:

  1. 数据采集:Flume
  2. 数据汇总与转发:Flume -> Kafka
  3. 数据处理:Spark Streaming
  4. 结果呈现:Flask

离线日志分析流水线

  1. 数据存储:Flume -> HDFS
  2. 数据处理:Spark SQL 数据预处理
  3. 结果呈现:汇总到 MySQL 最后由 Flask 展现

其余的实战章节

  • 第 5 章 基于云平台和用户日志的推荐系统
    • 数据收集与预处理:通过 JS 收集用户行为日志
    • Spark Streaming 实时分析用户日志
    • MLlib 离线训练模型:ALS 模型
  • 第 6 章 Twitter 情感分析
  • 第 7 章 热点新闻分析系统
    • 新闻抓取:Scrapy,保存在 Mongodb
    • 实时新闻分析:Spark Streaming 从 Kafka 获取新闻,进行预处理
    • 离线新闻分析模块:Spark 定期从 MongoDB 批量读取新闻
    • Elasticsearch 构建全文索引
  • 第 8 章 构建分布式的协同过滤推荐系统
  • 第 9 章 基于 Spark 的社交网络分析
    • 图分析
    • SNAP, Stanford Network Analysis Project 社交网络数据集
  • 第 10 章 基于 Spark 的大规模新闻主题分析
  • 第 11 章 构建分布式的搜索引擎
    • PageRank
    • 数据集 Microsoft Learning to Rank