"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo agregar una secuencia constante en Spark DataFrame?

¿Cómo agregar una secuencia constante en Spark DataFrame?

Publicado el 2025-04-17
Navegar:747

How to Add Constant Columns in Spark DataFrames?

agregando columnas constantes en Spark DataFrames

en Spark, agregando una columna constante a un marcador de datos con un valor específico para cada fila se puede lograr usando varios métodos.

Lit y ​​otras funciones (Spark 1.3)

en Spark Versions y arriba. Valor literal, que se puede utilizar como el segundo argumento a DataFrame.WithColumn para agregar una columna constante:

desde pyspark.sql.functions import lit df.withColumn ('new_column', lit (10))
from pyspark.sql.functions import lit

df.withColumn('new_column', lit(10))
para columnas más complejas, funciones como Array, Map y Struct se pueden usar para construir los valores de columna deseados:

de pyspark.sql.function df.withcolumn ("some_array", array (encendido (1), encendido (2), encendido (3)))) df.withColumn ("some_map", map (lit ("key1"), lit (1), lit ("key2"), lit (2)))
from pyspark.sql.functions import lit

df.withColumn('new_column', lit(10))
typedlit (chispa 2.2)

Spark 2.2 Introduce la función typedlit, que admite que proporciona SEQ, MAP y TUPLES como constantes:

org.apache.spark.sql.functions.typedlit df.withcolumn ("some_array", typedlit (seq (1, 2, 3)))) df.withColumn ("some_struct", typedlit (("foo", 1, 0.3)))

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)))

como una alternativa a usar valores literarios, es posible crear una función definida por el usuario (UDF) que devuelve un valor constante para cada fila y use esa UDF a la columna:

pyspark.sql.functions import udf, encendido Def add_ten (fila): regresar 10 add_ten_udf = UDF (add_ten, integertype ()) df.withcolumn ('new_column', add_ten_udf (lit (1.0)))

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)))

Los valores constantes también se pueden pasar como argumentos a UDFS o funciones SQL usando las mismas construcciones.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3