赞
踩
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报错问题汇总及某些函数用法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。