【发布时间】:2018-08-22 08:46:27
【问题描述】:
我正在使用 Hive 并尝试清理可能包含多个不需要的数据的数据。想知道我是否可以对多个条件使用单个 regexp_replace 或 translate 函数。
例如。如果字符串是2000 Helen St - DO NOT USE
我需要替换/修剪- DO NOT USE 并将St 更改为Street。
输出应该是2000 Helen Street。
同样
-
3000 Cross St应该是3000 Cross Street, -
4000 Mascot Dr应该是4000 Mascot Drive - 等等..
大约有 10 个或更多这样的清理条件,输入字符串可以满足 0 个或多个条件条件。可以在单个regexp_replace 中设置这些条件吗?
【问题讨论】:
-
你能举一些清理条件的例子吗?还包括您迄今为止的尝试。
-
对我来说,似乎您将有一套转换规则,并且多次使用
regexp_replace不应该是clean解决方案。而是考虑编写一个简单的GenericUDF,它可以处理所有情况。并且它带有Java的强大功能,因此有无限可能清理所有类型的数据。
标签: replace hive regexp-replace