首頁 >後端開發 >Python教學 >如何為 Spark DataFrame 新增常數列?

如何為 Spark DataFrame 新增常數列?

Patricia Arquette
Patricia Arquette原創
2024-11-08 15:04:01313瀏覽

How Do I Add a Constant Column to a Spark DataFrame?

向Spark DataFrame 添加常數列

嘗試使用withColumn 和常數值向DataFrame 添加新列時,用戶可能會因為資料類型不匹配而遇到錯誤。

解:

Spark 2.2 :

使用typedLit 直接賦值各種類型的常數值:

import org.apache.spark.sql.functions.typedLit

df.withColumn("some_array", typedLit(Seq(1, 2, 3)))
使用typedLit 直接賦值各種類型的常數值:

Spark 1.3 :

from pyspark.sql.functions import lit

df.withColumn('new_column', lit(10))
使用lit 建立文字值:

Spark 1.4 :

from pyspark.sql.functions import array, struct, create_map

df.withColumn("some_array", array(lit(1), lit(2), lit(3)))
對於複雜的列,使用array、struct和create_map等功能塊:

import org.apache.spark.sql.functions.{array, lit, map, struct}

df.withColumn("new_column", lit(10))
df.withColumn("map", map(lit("key1"), lit(1), lit("key2"), lit(2)))
在 Scala中:

df.withColumn(
    "some_struct",
    struct(lit("foo").alias("x"), lit(1).alias("y"), lit(0.3).alias("z"))
 )
對於結構,在每個欄位上使用別名或在整個物件上進行強制轉換以提供名稱:

注意:

這些建構也可用來將常數參數傳遞給UDF 或SQL 函式。

以上是如何為 Spark DataFrame 新增常數列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn