溫馨提示×

spark函數如何使用

小樊
107
2024-12-13 22:08:31
欄目: 大數據

在 Apache Spark 中,函數(functions)是一個用于處理數據并返回新數據的操作。要使用 Spark 函數,您需要首先創建一個函數,然后將其應用于 DataFrame 或 Dataset。以下是如何在 PySpark 中使用函數的步驟:

  1. 導入所需的庫:
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, lit, sum
  1. 創建一個 SparkSession:
spark = SparkSession.builder \
    .appName("Spark Functions Example") \
    .getOrCreate()
  1. 創建一個 DataFrame 示例:
data = [("Alice", 34), ("Bob", 45), ("Cathy", 29), ("David", 31)]
columns = ["Name", "Age"]

df = spark.createDataFrame(data, columns)
df.show()
  1. 創建一個函數:
def double_age(age):
    return age * 2
  1. 使用 withColumn 方法將函數應用于 DataFrame:
df_doubled_age = df.withColumn("DoubledAge", double_age(col("Age")))
df_doubled_age.show()
  1. 使用 select 方法選擇原始列和轉換后的列:
result = df_doubled_age.select("Name", "Age", "DoubledAge")
result.show()
  1. 關閉 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 函數的方法。您可以根據需要創建和使用其他類型的函數。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女