L'étincelle de la colonne de la chaîne de remplacer lorsqu'ils sont présents dans d'autres de la colonne (ligne)
Je voudrais enlever les chaînes de col1
qui sont présents dans col2
:
val df = spark.createDataFrame(Seq(
("Hi I heard about Spark", "Spark"),
("I wish Java could use case classes", "Java"),
("Logistic regression models are neat", "models")
)).toDF("sentence", "label")
à l'aide de regexp_replace
ou translate
ref: spark fonctions de l'api
val res = df.withColumn("sentence_without_label", regexp_replace
(col("sentence") , "(?????)", "" ))
de sorte que res
regarde comme ci-dessous:
OriginalL'auteur Karol Sudol | 2017-08-10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement utiliser
regexp_replace
ou vous pouvez utiliser de simples udf fonction comme ci-dessous
De sortie:
OriginalL'auteur Shankar Koirala
Si
label
juste un littéral, il est assez simple:Spark 1.6 vous pouvez faire de même avec
expr
:OriginalL'auteur hi-zir