在 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 函數的方法。您可以根據需要創建和使用其他類型的函數。