我description在hive表中有一个字符串列,可能包含制表符'\t',但是当将配置单元连接到外部应用程序时,这些字符会混淆一些视图.是否有一种简单的方法来摆脱该列中的所有制表符?我可以运行一个简单的python程序来完成它,但我想找到一个更好的解决方案.
小智 48
regexp_replaceUDF执行我的任务.以下是apache Wiki的定义和用法.
regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT):
Run Code Online (Sandbox Code Playgroud)
这将返回替换所有子串中的字符串,INITIAL_STRING
该子串PATTERN与实例中定义的java正则表达式语法匹配REPLACEMENT,
例如:regexp_replace("foobar", "oo|ar", "")返回fb
fer*_*cs2 10
自定义SerDe可能是一种方法.或者您可以使用regex_replace进行某种调解过程:
create table tableB as
select
columnA
regexp_replace(description, '\\t', '') as description
from tableA
;
Run Code Online (Sandbox Code Playgroud)
小智 7
select translate(description,'\\t','') from myTable;
Run Code Online (Sandbox Code Playgroud)
通过用 to 字符串中的相应字符替换 from 字符串中存在的字符来翻译输入字符串。这类似于 PostgreSQL 中的 translate 函数。如果此 UDF 的任何参数为 NULL,则结果也为 NULL。(从 Hive 0.10.0 开始可用,用于字符串类型)
从 Hive 0.14.0 开始添加 Char/varchar 支持
| 归档时间: |
|
| 查看次数: |
121505 次 |
| 最近记录: |