在 Apache Spark 中,函数(functions)是一个用于处理数据并返回新数据的操作。要使用 Spark 函数,您需要首先创建一个函数,然后将其应用于 DataFrame 或 Dataset。以下是如何在 PySpark 中使用函数的步骤:
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, lit, sum
spark = SparkSession.builder \
.appName("Spark Functions Example") \
.getOrCreate()
data = [("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()
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 函数的方法。您可以根据需要创建和使用其他类型的函数。