我想使用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行的所有值。
答案 0 :(得分:0)
您不需要正则表达式,您只需使用rand
和round
的组合为每行生成一个随机数。例如,如果要生成0到10000之间的随机数:
select round(rand() * 10000) as cust_id from cust_table
rand
会返回从0到1的随机双精度,round
会将舍入值作为bigint返回