Maison >base de données >tutoriel mysql >Comment puis-je concaténer des colonnes dans un DataFrame Apache Spark ?

Comment puis-je concaténer des colonnes dans un DataFrame Apache Spark ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-18 18:46:11696parcourir

How Can I Concatenate Columns in an Apache Spark DataFrame?

Combinaison de colonnes dans des DataFrames Apache Spark

Apache Spark propose plusieurs approches pour concaténer des colonnes dans un DataFrame.

Exploiter la fonction SQL CONCAT

Pour les requêtes SQL directes, la fonction CONCAT intégrée de Spark facilite la fusion de colonnes.

Illustration Python :

<code class="language-python">df = sqlContext.createDataFrame([("foo", 1), ("bar", 2)], ("k", "v"))
df.registerTempTable("df")
sqlContext.sql("SELECT CONCAT(k, ' ',  v) FROM df")</code>

Illustration Scala :

<code class="language-scala">import sqlContext.implicits._

val df = sc.parallelize(Seq(("foo", 1), ("bar", 2))).toDF("k", "v")
df.registerTempTable("df")
sqlContext.sql("SELECT CONCAT(k, ' ',  v) FROM df")</code>

Utilisation de la fonction concat de l'API DataFrame (Spark 1.5.0)

L'API DataFrame fournit une fonction concat pour cette tâche.

Illustration Python :

<code class="language-python">from pyspark.sql.functions import concat, col, lit

df.select(concat(col("k"), lit(" "), col("v")))</code>

Illustration Scala :

<code class="language-scala">import org.apache.spark.sql.functions.{concat, lit}

df.select(concat($"k", lit(" "), $"v"))</code>

Utilisation de la fonction concat_ws

La fonction concat_ws offre l'avantage de spécifier un séparateur personnalisé.

Illustration Python :

<code class="language-python">from pyspark.sql.functions import concat_ws, lit

df.select(concat_ws(" ", col("k"), lit(" "), col("v")))</code>

Illustration Scala :

<code class="language-scala">import org.apache.spark.sql.functions.{concat_ws, lit}

df.select(concat_ws(" ", $"k", lit(" "), $"v"))</code>

Ces techniques permettent une concaténation simple des colonnes dans les DataFrames Apache Spark, ce qui s'avère inestimable pour diverses tâches de manipulation de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn