替换HIVE表中的字符串和int值

时间:2016-08-19 17:38:07

标签: hadoop replace hive translate

我想使用regex_replace将hive表中特定列的所有值替换为随机值。

我该怎么做?

它与我们在shell脚本中的相似: -

tr '[a-j]' '[j-s]'      

tr '[1-4]' '[5-8]'

还是有其他方法可以替换hive中的值。

我可以使用

替换1个值
select cust_id, regexp_replace(cust_id, '23456', '74563') as cust_id from cust_table;

但我想用随机数替换100行的所有值。

1 个答案:

答案 0 :(得分:0)

您不需要正则表达式,您只需使用randround的组合为每行生成一个随机数。例如,如果要生成0到10000之间的随机数:

select round(rand() * 10000) as cust_id from cust_table

rand会返回从0到1的随机双精度,round会将舍入值作为bigint返回