В Spark (Scala) после отправки jar-файла приложения в Spark, возможно ли для jar-файла извлечь много строк из таблицы базы данных, преобразовать каждую строку в выражение катализатора, а затем преобразовать это выражение в UDF , и использовать UDF для фильтрации строк в другом DataFrame и, наконец, объединить результат каждого UDF?
(для указанного выражения требуются некоторые или все столбцы DataFrame, но какие столбцы необходимы, пока неизвестно кода jar записывается, схема DataFrame известна во время разработки)
Пример:
выражение 1: "id == 1"
выражение 2: "name == \"andy\""
DataFrame:
- строка 1: id = 1, name = "red", age = null
- строка 2: id = 2, name = "andy", age = 20
- строка 3: id = 3, name = "juliet", age = 21
конечным результатом должны быть первые две строки
Примечание: недопустимо сначала объединять два выражения с помощью or
, поскольку мне нужно чтобы отследить, какое выражение приводит к строке результата