18. Spark sql  regexp_replace 及 rlike用法

18.  Spark sql  regexp_replace 及 rlike用法

工作中遇到了一些字符串中偶然含有 \n (软回车) \r (软空格),在写入到hive后,建Kylin cube时有报错,说明在数据清洗时,没有考虑到这一点。要在数据清洗时,去除 \n (软回车) \r (软空格)

 

当要匹配特殊的隐藏字符\n \r \t ,等回车符、制表符时,需要通过使用四个 /  进行转译。

伪代码

# RDD的替换方法
s.replaceAll("[\\r\\n]", "")

# Spark Sql的替换方法
select(regexp_replace(trim($"name"), "[\\r\\n]", "").alias("name"))

#
sparkSession.sql(
  """
    |select
    |regexp_replace(title, '\\\\r|\\\\n|\\\\b|\\\\f|\\\\t','') title
    |from tableName
  """)

rlike用法 

https://stackoverflow.com/questions/41756751/using-rlike-in-org-apache-spark-sql-column

https://mungingdata.com/apache-spark/advanced-string-matching-with-rlike/

 

 

此贴来自汇总贴的子问题,只是为了方便查询。

总贴请看置顶帖:

pyspark及Spark报错问题汇总及某些函数用法。

https://blog.csdn.net/qq0719/article/details/86003435

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值