分类 "Database" 下的文章

问题:ods层源数据中有DEL这样的特殊字符,如何去除?

解决:在ods层进入dwd层前进行数据处理,使用replace进行去除

方法:

select replace(CFWH, decode(unhex(hex(127)), 'US-ASCII'), '');

阅读全文

问题:身份证、手机号加密存储后如何进行模糊查询?

解决:使用数据库自带的AES_DECRYPT进行加密

方法:

select * 
from t_user 
where AES_DECRYPT(UNHEX(mobile_no_sha),'key') 
like 'xxx%';

select HEX(AES_ENCRYPT('明文1', 'key')), HEX(AES_ENCRYPT('1232424', 'key')), HEX(AES_ENCRYPT('text3', 'aaaa'));

select convert(AES_DECRYPT(UNHEX('9B1A7A1DC71307D779C93ACA5E125FC0'), 'key') USING UTF8MB4), 
    AES_DECRYPT(UNHEX('A1DAD34A097546E873D9064EE448323E'), 'key'), 
    AES_DECRYPT(UNHEX('0AE69DD49328CAB30FBE5066D18149DD'), 'aaaa');

阅读全文

问题:如何解决hive查询排序后,会多出一行全null数据

解决:设置hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;

方法:
在运行语句前运行

set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;

执行MR操作,会先经过hive.input.format,其默认值为CombineHiveInputFormat,其会先将索引文件当成小文件合并,将其当做普通文件处理。更严重的是,这会导致LZO文件无法切片。