使用 Spark 分析购物会话

构建可复用的 Spark 分析,按会话、商品和时间匹配已结束访问中的浏览与加购,并导出具有完整分母的商品对比。

项目大数据

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

使用 Spark 分析购物会话是面向已掌握 PySpark 批处理基础的学习者的动手项目。你将把一份已结束的商店访问日志变成可复用的分析程序,区分重复事件与发生过浏览的会话/商品对,并按正确的商品和时间匹配加购。

两个引导实验分别建立关系判断和完整商品对比表。一个独立挑战将相同规则应用于另一家商店的批次。你将交付真实的 Parquet 数据集和与之匹配的小型 CSV,并用计数解释每个比例。125~155 分钟是作者的估计,包含阅读和常见错误处理。

你将学到什么

完成本课程后,你将能够:

  • 去除完全相同的事件重投后,保留每个发生过浏览的会话/商品对及其最早浏览时间;
  • 判断是否存在有效加购,既不借用其他商品的加购,也不因多个匹配加购而重复计算一个浏览过程;
  • 计算浏览会话分母、完成与未完成会话数,以及未完成比例;
  • 保留零加购商品和所有并列结果;
  • 写入并读取真实的 Parquet 和 CSV,重跑派生快照并保留原始输入;
  • 解释为什么已结束会话中的模式只是观察线索,而不是独立人数或因果证明。

本课程适合谁

本项目适合希望可靠地处理 Spark 数据关系和汇总指标的数据分析及数据工程学习者。

前置知识: 基本终端文件导航,以及 Apache Spark 入门中的显式 schema、筛选、完全相同记录去重、DataFrame 关联、分组和 Parquet。本项目介绍会话/商品观察单位、最早浏览时间、semi/anti join 和完整对比分母。

学习环境: 每个实验都提供独立的浏览器 Terminal,已准备 Spark、Python、本地批次文件和轻量输出驱动程序。Spark 在一台机器上使用两个本地工作线程。无需安装软件,也不需要 Hive、Kafka 或远程集群。

常见问题

需要编写 Python 吗?

需要。你将完成返回 Spark DataFrame 的小型可复用函数。引导实验会先解释函数参数和关系表达式,再让你使用它们;提供的驱动程序负责创建会话和文件序列化。

这是实时漏斗或独立顾客报表吗?

不是。输入是标识符和 UTC 时间戳均有效、会话已经结束的有限批次。会话是一次访问的标识符,一个会话可以浏览多个商品。流处理、结账和跨设备身份不在本课程范围内。

挑战中会改变什么?

批次标识符和事件之间的关系会改变。Spark 工具、时间规则、输出格式和恢复方法保持一致。结果必须保留完整对比,包括零加购商品和并列结果。

教师

labby
Labby
Labby is the LabEx teacher.