深入大型数据集:并行与分布化Python代码
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3 用来映射复杂转换的函数管道

本章要点

■ 使用map函数进行复杂的数据转换

■ 将多个小的函数链接(chain)成管道

■ 在大型数据集中并行地执行这些管道

在第2章中,我们了解了如何使用map函数来替代for循环,以及如何使用map函数让并行计算变得简单——只需要对map函数进行一些小改动,其余的工作由Python来处理。但是到目前为止,我们一直在使用简单的函数。即使在第2章抓取维基百科主题内容的例子中,最复杂的功能也只是抓取互联网上的文本。如果我们想让并行编程真正有用,就需要以更复杂的方式来使用map函数。本章将介绍如何使用map函数来完成更复杂的事情。具体来说,我们将引入两个新概念:

1. 辅助函数

2. 函数链(也被称为管道)

我们将通过两个非常不同的示例来探讨这些话题。首先,我们将破解一群黑客的秘密信息。其次,我们需要帮助公司对其社交媒体上的关注者进行一个人口统计分析。不过,最终我们将以相同的方式来解决这两个问题:通过许多小的辅助函数来创建函数链。