Wie füge ich konstante Spalten in Spark DataFrames hinzu?

Susan Sarandon
Freigeben: 2024-11-06 22:55:02
Original
386 Leute haben es durchsucht

How to Add Constant Columns in Spark DataFrames?

Hinzufügen konstanter Spalten in Spark-DataFrames

In Spark kann das Hinzufügen einer konstanten Spalte zu einem DataFrame mit einem bestimmten Wert für jede Zeile mithilfe verschiedener Methoden erreicht werden.

lit und andere Funktionen (Spark 1.3)

In Spark-Versionen 1.3 und höher wird die lit-Funktion verwendet, um einen Literalwert zu erstellen, der als zweites Argument zum Hinzufügen von DataFrame.withColumn verwendet werden kann eine konstante Spalte:

from pyspark.sql.functions import lit

df.withColumn('new_column', lit(10))
Nach dem Login kopieren

Für komplexere Spalten können Funktionen wie Array, Map und Struktur verwendet werden, um die gewünschten Spaltenwerte zu erstellen:

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

df.withColumn("some_array", array(lit(1), lit(2), lit(3)))
df.withColumn("some_map", map(lit("key1"), lit(1), lit("key2"), lit(2)))
Nach dem Login kopieren

typedLit (Spark 2.2)

Spark 2.2 führt die typedLit-Funktion ein, die die Bereitstellung von Seq, Map und Tupeln als Konstanten unterstützt:

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

df.withColumn("some_array", typedLit(Seq(1, 2, 3)))
df.withColumn("some_struct", typedLit(("foo", 1, 0.3)))
Nach dem Login kopieren

Verwendung einer UDF

Als Alternative zur Verwendung von Literalwerten ist es möglich, eine benutzerdefinierte Funktion (UDF) zu erstellen, die einen konstanten Wert für jede Zeile zurückgibt, und diese UDF zum Hinzufügen der Spalte zu verwenden:

from pyspark.sql.functions import udf, lit

def add_ten(row):
    return 10

add_ten_udf = udf(add_ten, IntegerType())
df.withColumn('new_column', add_ten_udf(lit(1.0)))
Nach dem Login kopieren

Hinweis:

Die konstanten Werte können mit denselben Konstrukten auch als Argumente an UDFs oder SQL-Funktionen übergeben werden.

Das obige ist der detaillierte Inhalt vonWie füge ich konstante Spalten in Spark DataFrames hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!