问题描述
如果想模糊查询,给字段指定位置替换特殊符号*,需使用replace函数,但是spark1.5中,使用spark-sql无法使用replace函数
问题原因
目前版本兼容性问题
解决措施
spark不支持replace函数。
使用regexp_replace替代。
//改*方式脱敏拼接sql
spark.sql("SELECT id,name,age, regexp_replace(email,SUBSTR(email,2,3), \"*\") AS pv FROM db").show()
原型
常见问题
数字类型需定义为Integer类型。否则实体类调用属性则报空指针异常。
- 如果想给两个包含字段的字符串之间加逗号,避免给每个字母之间加逗号,可先将字符串放入集合中。
def main(args: Array[String]): Unit = {
val x = "id,age"
val y = "email"
val lst1 =List(x)
val lst2 =List(y)
val strings: List[String] = lst1++lst2
val str: String = strings.mkString(",")
println(str)
}