【发布时间】:2019-09-02 19:35:44
【问题描述】:
我已经定义了一个正则表达式来从一个日志文件中提取主机名:
val host = "[a-zA-Z0-9]+\.[a-zA-Z]+\.[a-zA-Z]+".r
但是当我尝试在 spark 数据帧中应用此模式时,它会引发错误:
df.withColumn(col("hostname"),regexp_extract("value",host,1)).show(5)
错误:
:28: 错误:类型不匹配;找到:scala.util.matching.Regex 需要:String df.withColumn(col("hostname"),regexp_extract("value",host,1)).show(5)
如何将预定义的正则表达式模式应用于列?
【问题讨论】:
标签: regex scala apache-spark dataframe apache-spark-sql