Допустим, у вас есть фрейм данных Spark с несколькими столбцами, и вы хотите вернуть строки, в которых столбцы содержат определенные символы.В частности, вы хотите вернуть строки, в которых хотя бы одно из полей содержит (), []% или +.Каков правильный синтаксис, если вы хотите использовать Spark SQL rlike функцию?
import spark.implicits._
val dummyDf = Seq(("John[", "Ha", "Smith?"),
("Julie", "Hu", "Burol"),
("Ka%rl", "G", "Hu!"),
("(Harold)", "Ju", "Di+")
).toDF("FirstName", "MiddleName", "LastName")
dummyDf.show()
+---------+----------+--------+
|FirstName|MiddleName|LastName|
+---------+----------+--------+
| John[| Ha| Smith?|
| Julie| Hu| Burol|
| Ka%rl| G| Hu!|
| (Harold)| Ju| Di+|
+---------+----------+--------+
Expected Output
+---------+----------+--------+
|FirstName|MiddleName|LastName|
+---------+----------+--------+
| John[| Ha| Smith?|
| Ka%rl| G| Hu!|
| (Harold)| Ju| Di+|
+---------+----------+--------+
Мои несколько попыток возвращают ошибки или нет, даже если я пытаюсь сделать это только для поиска (.
*)1005 * Я знаю, что мог бы использовать простую конструкцию like несколько раз, но я пытаюсь сделать это более кратким способом с помощью регулярных выражений и Spark SQL.