В Apache Spark обычно нет таблиц. Дата-инженер оперирует абстракциями
- RDD
- DataFrame
- DataSet (почти тоже самое что датафрейм)
Когда у тебя в одной руке датафрейм - ты можешь уже к нему применить фильтр с регуляркой тип
df.filter(col("name").rlike("(?i)^*rose$")).show()
Если сильно хочется - то поверх датафрейма создается View через
df.createOrReplace......View("view_name")
И с ним работают.
spark.sql("SELECT .... WHERE col RLIKE ..... ").show()
Но это уже такой себе овер-инжинеринг. И если можно решить задачу на уровне датафреймов
то обычно так и решают. SQL и прочее подключают когда есть JOINS или какие-то особые условия
(catalyst optimizer нужен).