Apache Spark SQL使用Java的正则表达式语法来实现rlike操作。下面是一个包含代码示例的解决方法:
import org.apache.spark.sql.functions._
// 创建一个示例数据集
val data = Seq(
("Alice", "alice@example.com"),
("Bob", "bob@example.com"),
("Charlie", "charlie@spark.com"),
("David", "david@example.com")
).toDF("name", "email")
// 使用rlike操作筛选包含特定模式的数据行
val filteredData = data.filter(col("email").rlike("example\\.com"))
// 显示筛选后的数据
filteredData.show()
上述代码创建了一个示例数据集,并使用rlike
操作筛选出包含"example.com"模式的数据行。最后,通过show
方法显示筛选后的数据。
请注意,在正则表达式中,点号.
需要使用反斜杠进行转义,因为点号在正则表达式中有特殊的意义。因此,我们在模式字符串中使用了example\\.com
来匹配"example.com"。