在 Apache Spark 中,函数(functions)是一个用于处理数据并返回新数据的操作。要使用 Spark 函数,您需要首先创建一个函数,然后将其应用于 DataFrame 或 Dataset。以下是如何在 PySpark 中使用函数的步骤:
- 导入所需的库:
from pyspark.sql import SparkSession from pyspark.sql.functions import col, lit, sum
- 创建一个 SparkSession:
spark = SparkSession.builder \ .appName("Spark Functions Example") \ .getOrCreate()
- 创建一个 DataFrame 示例:
data = https://www.yisu.com/ask/[("Alice", 34), ("Bob", 45), ("Cathy", 29), ("David", 31)] columns = ["Name", "Age"] df = spark.createDataFrame(data, columns) df.show()
- 创建一个函数:
def double_age(age): return age * 2
- 使用
withColumn
方法将函数应用于 DataFrame:
df_doubled_age = df.withColumn("DoubledAge", double_age(col("Age"))) df_doubled_age.show()
- 使用
select
方法选择原始列和转换后的列:
result = df_doubled_age.select("Name", "Age", "DoubledAge") result.show()
- 关闭 SparkSession:
spark.stop()
这将输出以下内容:
+-----+---+--------+ | Name|Age|DoubledAge| +-----+---+--------+ |Alice| 34| 68| | Bob| 45| 90| |Cathy| 29| 58| |David| 31| 62| +-----+---+--------+ +-----+---+--------+ | Name|Age|DoubledAge| +-----+---+--------+ |Alice| 34| 68| | Bob| 45| 90| |Cathy| 29| 58| |David| 31| 62| +-----+---+--------+
这就是在 PySpark 中使用 Spark 函数的方法。您可以根据需要创建和使用其他类型的函数。