项目场景:
Hive自定义加解密udf、udtf函数部分失效问题:
问题描述
Hive自定义加解密udf、udtf函数部分失效问题:
例如:业务库的手机号、身份证等敏感信息在落入数仓表前都需要进行加密后再进行存储;特定场景下业务人员会再将加密后的敏感信息进行解密后进行分析。会存在加密后数据变为空值,或者解密后数据变为空值的情况
原因分析:
与自定义函数的代码逻辑相关:
例如:当遇到流量高峰,或者其他异常请求情况,代码逻辑中会返回空值。比如一次性加解密的数据量过大,会产生大量的请求,会存在流量异常的情况,导致返回空值
解决方案:
一次性加解密的数据量不宜过大,控制在5w以内:
例如:每天跑批加密的时候,限制一下数据量;为了防止可能还会出现空值,可以进行二次加密,即对于第一步未加密成功的数据再次加密