поиск данных в списке и добавление столбца, чтобы сказать, найден или нет - PullRequest
0 голосов
/ 28 мая 2018

это мой df с 2 столбцами:

utid|description
12342|my name is 123 amrud and nitesh
2345|my name is anil
2122|my name is 1234 mohan

и списком, подобным списку {"mohan","nitesh"} нужно искать, если элемент из этого списка присутствует в описании столбца .. если да, то печатать "found "else print" not found "в другом столбце dataframe. Выходной df должен быть примерно таким, как показано ниже: список намного больше, чем этот, примерно из 20k элементов. Выходной dataframe должен быть примерно таким, как показано ниже

utid|description|foundornot
12342|my name is 123 amrud and nitesh|found
2345|my name is xyz |not found
2122|my name is 1234 mohan|found

Любая помощь приветствуется

1 Ответ

0 голосов
/ 28 мая 2018

Вы можете просто определить udf функцию для проверки условия и возврата строк found или not found

val list = List("mohan","nitesh")

import org.apache.spark.sql.functions._
def checkUdf = udf((strCol: String) => if (list.exists(strCol.contains)) "found" else "not found")

df.withColumn("foundornot", checkUdf(col("description"))).show(false)

Это так и должно бытьполучить

+-----+-------------------------------+----------+
|utid |description                    |foundornot|
+-----+-------------------------------+----------+
|12342|my name is 123 amrud and nitesh|found     |
|2345 |my name is anil                |not found |
|2122 |my name is 1234 mohan          |found     |
+-----+-------------------------------+----------+

Надеюсь, ответ будет полезным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...