Hive在2.1.0版本后,支持数据屏蔽函数(Data Masking Functions),可以用于数据的快速脱敏掩码处理。
比如mask函数,默认会将查询回的数据,大写字母转换为X,小写字母转换为x,数字转换为n。
当然也可以添加参数自定义转换的字母
mask(string str[, string upper[, string lower[, string number]]]) ,
upper定义大写字母转换,lower定义小写字母转换,number定义数字转换
函数调用:
mask("abcd-EFGH-9876-5432")
结果为:
xxxx-XXXX-nnnn-nnnn
mask_first_n(string str[, int n]) 可对前n个字符进行掩码处理。
mask_last_n(string str[, int n]) 可对后n个字符进行掩码处理。
mask_show_first_n(string str[, int n]) 是除了前n个字符,其余进行掩码处理。
mask_show_last_n(string str[, int n]) 是除了后n个字符,其余进行掩码处理。
mask_hash(string|char|varchar str) 会返回字符串的hash编码。
再也不需要使用字符串分割、拼接【 substr substring CONCAT 】这些函数了,使用mask函数,可以方便的对一些数据进行脱敏,从而在保证数据安全的情况下使用。