-2
votes

Spark DataFrame Colonne Contenu Modification

J'ai un fichier de données comme indiqué ci-dessous df.show () : xxx

puis-je transformer la structure de données ci-dessus vers ci-dessous en utilisant certains SQL? xxx


0 commentaires

3 Réponses :


0
votes

Vous pouvez le faire à l'aide d'une instruction SQL simple SELECT si vous souhaitez utiliser UDF aussi bien

EX -> Sélectionnez Col11, Col22, 'Expend1:' + Cast (Expend1 comme Varchar (10)) Comme Expend1, .... de la table


0 commentaires

0
votes
 val df = Seq(("Value1", "value1",    "123",   "2264",     "56"), ("Value1", "value2",    "124",   "2255",     "23") ).toDF("Col11", "Col22", "Expend1", "Expend2", "Expend3")
 val cols = df.columns.filter(!_.startsWith("Col"))   // It will only fetch other than col% prefix columns

 val getCombineData = udf { (colName:String, colvalue:String) => colName + ":"+ colvalue}
 var in = df 
 for (e <- cols) {
    in = in.withColumn(e, getCombineData(lit(e), col(e)) )
 } 
 in.show

 // results
 +------+------+-----------+------------+----------+
 | Col11| Col22|    Expend1|     Expend2|   Expend3|
 +------+------+-----------+------------+----------+
 |Value1|value1|Expend1:123|Expend2:2264|Expend3:56|
 |Value1|value2|Expend1:124|Expend2:2255|Expend3:23|
 +------+------+-----------+------------+----------+

0 commentaires

0
votes

Vous pouvez utiliser l'idée de repliplez ici xxx

sortie: xxx


0 commentaires