替换(掩盖)HIVE中的特定值

时间:2018-04-06 12:12:36

标签: regex hive

嗨大师我在替换/屏蔽包含帐户的列数据时遇到了问题(没有标准长度,可能是10位数或更多),假设我有这样的数据:

6285669871 already in history  
6281246983002 not in history  
08693461287 not found  
6194637899 already in history 

我想要的是将它们掩盖成'..(附加日志信息)'

我尝试使用:

regexp_replace(Column1,'[0-9]{7}','<account>')

但它不起作用,因为帐号长度并不总是7位数,有没有更好的方法呢?

感谢

1 个答案:

答案 0 :(得分:2)

我建议

regexp_replace(Column1,'^[0-9]{7,}','<account>')

<强>详情

  • ^ - 字符串的开头
  • [0-9]{7,} - 7 或更多位数

请参阅regex demo