【问题标题】:regex replace not working in HIVE正则表达式替换在 HIVE 中不起作用
【发布时间】:2017-12-08 09:43:32
【问题描述】:

我想将数据中的 ; 替换为 HIVE 中的 : 尝试以下但不工作

hive> select REGEXP_REPLACE('Mozilla/5.0 (Macintosh; Intel',';',':');

如何在 HIVE 中实现这一点。我在转换它时遇到了问题。

【问题讨论】:

标签: sql hadoop hive


【解决方案1】:

只需使用replace():

select replace('Mozilla/5.0 (Macintosh; Intel', ';', ':')

replace() 在文档中有描述。

【讨论】:

    【解决方案2】:

    您需要转义分号。请看下文

    hive> select REGEXP_REPLACE("Mozilla/5.0 (Macintosh\; Intel","\;",":");
    OK
    Mozilla/5.0 (Macintosh: Intel
    Time taken: 0.082 seconds, Fetched: 1 row(s)
    

    【讨论】:

      【解决方案3】:

      你可以试试这个

      方法一:REGEXP_REPLACE('Mozilla/5.0 (Macintosh; Intel','\;',':');
      方法二:REGEXP_REPLACE('Mozilla/5.0 (Macintosh; Intel','\\;',':');

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-13
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 2013-11-03
        • 2019-11-09
        相关资源
        最近更新 更多