Logo
Section 1 / 2

入门

了解课程内容以及我们将要学习的内容。

导入

入门

了解课程内容以及我们将要学习的内容。

概述

在本课程中,我们将学习如何尽可能使用 PySpark 代替 pandas。在 Python 中,pandas 是一个用于操作和分析数据的库。PySpark 是用 Scala 编写的库集合,主要用于大规模数据处理。

我们将使用 亚马逊评论数据的一个子集:《基于远距离标注评论进行推荐理由的解释与细粒度方面分析》

Jianmo Ni, Jiacheng Li, Julian McAuley
EMNLP 2019

本课程旨在演示 PySpark DataFrame API 的各个模块。在每个部分中,我们首先使用 pandas 完成一些任务,然后尝试用 PySpark 实现相同的功能。

...

从数据中获取有价值的信息

本课程的内容流程遵循一个简短的数据分析项目生命周期。在这个生命周期中,我们按照几乎固定的步骤从数据中提取出有价值的信息,如下图所示:

  1. 加载或读取数据,例如以 CSV、JSON 或 Parquet 格式读入表格形式的数据,使用 pandas 或 PySpark。
  2. 根据项目需求选择所需字段。这被称为数据子集化。
  3. 如果数据是新的,可先进行初步探索。
  4. 对无效数据进行筛选或填补。
  5. 基于已有字段,通过聚合数据框架(如 pandas 或 PySpark)引入新的计算列。可以使用提供的方法,如 group by、order by、limit 等。
  6. 计算一些指标或生成可视化图表,便于业务伙伴审查,作为数据驱动决策的支持文档。

实用技巧

在合适的时候,始终对正在处理的 DataFrame 创建一个 缓存。

这可以减少重新查询整个 DataFrame 的额外开销,使查询速度显著提升。此外,它还能帮助我们移除后续不会使用的冗余字段。

PySpark 使用缓存机制,将数据子集存储在内存中或本地保存。后续任务可以直接使用该子集,从而大幅提升查询效率。

数据集概览