Concaténer des colonnes dans Apache Spark DataFrame
Comment concaténer deux colonnes dans un Apache Spark DataFrame?
Est-il une fonction dans Spark SQL que l'on peut utiliser?
- Vous avez quelques réponses ici, simplement en demandant à être accepté 😉
Vous devez vous connecter pour publier un commentaire.
Avec raw SQL, vous pouvez utiliser
CONCAT
:En Python
En Scala
Depuis Étincelle 1.5.0 vous pouvez utiliser
concat
fonction avec DataFrame API:En Python :
En Scala :
Il est également
concat_ws
fonction qui prend une chaîne de caractères séparateur comme premier argument.Voici comment vous pouvez faire la coutume de nommage
donne,
créer une nouvelle colonne en concaténant:
lit
crée une colonne de_
Une option pour concaténer des chaînes de colonnes dans Spark Scala est à l'aide de
concat
.Il est nécessaire de vérifier les valeurs null. Parce que si l'une des colonnes est null, le résultat sera nul, même si l'un des autres colonnes ne possèdent de l'information.
À l'aide de
concat
etwithColumn
:À l'aide de
concat
etselect
:Avec les deux méthodes, vous aurez une NEW_COLUMN dont la valeur est une concaténation des colonnes: COL1 et COL2 d'origine df.
Si vous voulez le faire à l'aide de DF, vous pouvez utiliser une fonction pour ajouter une nouvelle colonne reposant sur des colonnes.
Ici est une autre manière de faire pour pyspark:
De Spark 2.3(SPARK-22771) Spark SQL prend en charge l'opérateur de concaténation de
||
.Par exemple;
Voici une suggestion pour quand vous ne connaissez pas le numéro ou le nom des colonnes dans le Dataframe.
Spark 2.3.0, vous pouvez le faire:
Une autre façon de faire dans pySpark à l'aide de sqlContext...
En Java, vous pouvez le faire pour concaténer plusieurs colonnes. L'exemple de code est de vous fournir un scénario et comment l'utiliser pour une meilleure compréhension.
Le code ci-dessus concaténées col1,col2,col3 séparés par des "_" pour créer une colonne avec le nom "concatenatedCol".