Heim > Backend-Entwicklung > Python-Tutorial > Wie füge ich einem Spark-DataFrame eine konstante Spalte hinzu?

Wie füge ich einem Spark-DataFrame eine konstante Spalte hinzu?

Patricia Arquette
Freigeben: 2024-11-08 15:04:01
Original
317 Leute haben es durchsucht

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

Hinzufügen einer konstanten Spalte zu einem Spark-DataFrame

Beim Versuch, mithilfe von withColumn und einem konstanten Wert eine neue Spalte zu einem DataFrame hinzuzufügen, Benutzer Aufgrund nicht übereinstimmender Datentypen kann ein Fehler auftreten.

Lösung:

Spark 2.2:

Verwenden Sie typedLit für die direkte Zuweisung konstante Werte verschiedener Typen:

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

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

Spark 1.3 :

Verwenden Sie lit, um einen Literalwert zu erstellen:

from pyspark.sql.functions import lit

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

Spark 1.4:

Verwenden Sie für komplexe Spalten Funktionsblöcke wie Array, struct und create_map:

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

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

In Scala:

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)))
Nach dem Login kopieren

Für Strukturen , verwenden Sie einen Alias ​​für jedes Feld oder übertragen Sie ihn auf das gesamte Objekt, um Namen bereitzustellen:

df.withColumn(
    "some_struct",
    struct(lit("foo").alias("x"), lit(1).alias("y"), lit(0.3).alias("z"))
 )
Nach dem Login kopieren

Hinweis:

Diese Konstrukte können auch verwendet werden, um konstante Argumente an zu übergeben UDFs oder SQL-Funktionen.

Das obige ist der detaillierte Inhalt vonWie füge ich einem Spark-DataFrame eine konstante Spalte 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