PySpark 数据框:选择列31 Jan 2025 | 4 分钟阅读 ![]() Apache Spark 是一个高效的开源处理引擎,围绕速度、易用性和复杂的分析构建。 PySpark 是 Spark 的 Python API,允许你在 Python 中利用 Spark 的可扩展性和能力。 PySpark 的核心组件之一是 DataFrame,它是与关系数据库中的表非常相似的不可变的分布式数据集合。 本指南将教你如何在 PySpark DataFrame 中选择列。 什么是 PySpark DataFrame?PySpark DataFrame 是一个分布式数据集合,组织成命名的列。 从概念上讲,它等同于关系数据库中的表,或者 R 和 Python 等语言中的数据帧,但针对跨机器集群处理大型数据集进行了优化。 PySpark 是 Apache Spark 的 Python API,Apache Spark 是一个强大的开源处理引擎,围绕速度、易用性和复杂的分析构建。 PySpark 允许你使用 Python 与 Spark 交互,使其成为熟悉 Python 但需要利用分布式计算能力的记录科学家和工程师的绝佳设备。 PySpark DataFrame 的主要特性分布式计算: PySpark DataFrames 是分布式的,这意味着它们可以处理不适合单个设备内存的大型数据集,方法是将信息分布在集群中的多个节点上。 模式强制执行: PySpark DataFrames 实施模式,为你的信息赋予形状,并使执行复杂操作变得更加简单。 延迟评估: PySpark DataFrames 上的操作是延迟完成的,这意味着计算会延迟到获得所需的结果。 这允许优化机会。 互操作性: PySpark DataFrames 可以从各种数据源生成,例如 JSON、Parquet、CSV 和 Hive 等数据库,从而可以轻松地使用来自不同资源的信息。 丰富的 API: PySpark 提供了一组丰富的 API,用于信息操作、转换和分析,允许你执行诸如过滤、聚合和连接信息等操作。 使用 PySpark DataFrame 而不是普通 DataFrame 的优势PySpark DataFrames 比传统 DataFrames 提供了许多优势,尤其是在管理大数据集和分布式计算环境时。 以下是重要关键优势 1. 可扩展性 分布式计算: PySpark DataFrames 旨在跨机器集群工作,分布信息的计算和存储。 这允许有效地处理太字节甚至拍字节的数据,这对于在单台机器上运行的常规 DataFrames 来说并非总是可行的。 容错性: PySpark 的底层 Spark 引擎通过记录复制和沿袭统计信息提供容错性,确保计算可以从灾难中恢复,而无需重新启动整个任务。 2. 性能 优化的执行计划: PySpark 使用 Catalyst 优化器生成优化的执行计划,从而提高大规模数据处理义务的性能。 内存中计算: PySpark 可以将中间结果缓存在内存中,从而减少了对重复 I/O 操作的需求,并加快了迭代算法和交互式数据评估。 创建 PySpark DataFrame在我们深入选择列之前,让我们创建一个示例 DataFrame 来进行工作 输出
选择列1. 选择单列 要从 DataFrame 中选择单列,可以使用 select() 方法。 输出
2. 选择多列 可以通过将它们作为参数传递给 select() 方法来选择多列。 输出
3. 使用 Column 对象 选择列的另一种方法是使用 pyspark.sql.functions 中的 col 函数。 这种方法对于编程列选择很有帮助。 输出
4. 在选择时重命名列 要在选择列时重命名列,可以使用 alias() 方法。 输出
5. 使用表达式 你还可以在选择时使用表达式对列执行操作。 输出
6. 筛选列 有时,你可能想要筛选 DataFrame,然后选择列。 你可以将 filter() 和 select() 方法链接在一起。 输出
结论在 PySpark DataFrame 中选择列是一项基本操作,在使用 Spark 时你会经常使用它。 无论你想要挑出个人列、多个列、重命名列或应用转换,PySpark 都提供了灵活而有效的策略来解决这些任务。 通过学习这些策略,你可以成功地以可扩展的方式操作和检查你的信息。 |
我们请求您订阅我们的新闻通讯以获取最新更新。