学习使用PySpark处理大数据时最有帮助的函数
介绍
我每天都在Databricks上使用PySpark工作。作为一名数据科学家,我的工作需要处理大量不同表中的数据。这是一项具有挑战性的工作,很多时候。
尽管“提取、转换和加载(ETL)”过程听起来很简单,但我可以告诉你,情况并不总是如此。当我们处理大数据时,我们的思维方式必须因为以下两个原因而改变:
- 数据量比常规数据集要大得多。
- 当在集群中使用并行计算时,我们必须考虑数据将被拆分到许多工作节点中以执行部分工作,然后作为一个整体将其汇总。如果查询过于复杂,这个过程往往非常耗时。
有了这个认识,我们必须学会为大数据编写智能查询。在本文中,我将展示一些我最喜欢的模块pyspark.sql.functions
中的函数,旨在帮助你在PySpark中进行数据整理。
最佳函数
现在让我们进入本文的内容。
和许多其他语言一样,PySpark具有模块的好处,其中您可以找到许多为最不同目的而准备好的函数。以下是我们将加载到我们的会话中的函数:
from pyspark.sql import functions as F
如果您想看看pyspark.sql.functions
内部函数列表有多广泛,请访问此网站,其中提供了API参考。请记住,这是针对版本3.5.0的。某些旧版本可能不包含本文中展示的所有函数。
数据集
我们要用作示例的数据集是ggplot2的“Diamonds”,在MIT许可证下共享。
# 文件路径path = '/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv'# 加载数据df = spark.read.csv(path, header=True, inferSchema= True)