数据安全管理,本shell 实现对hive源表敏感字段进行md5加密,然后写入新表;
read -p 交互输入:要脱敏的hive表、分区,示例: test_db.table_name 20240331
生成更新hive分区表的hql: insert overwrite table xxx
备注:仅供参考,可对本shell代码,做进一步修改调整,满足自己的需求。
#!/bin/bash
# 2024.04.19
read -p "请按示例格式输入要脱敏的hive表、分区,示例: test_db.table_name 20240331 ### " table etl_date#获取库名、表名,存入变量
dbname=`echo $table |awk -F. '{print $1}'`
tbl=`echo $table |awk -F. '{print $2}'`target_db=import_db#首先判断目标表是否存在
hdfs dfs -test -e /user/hive/warehouse/${target_db}.db/$tbl
if [ $? -eq 0 ] ;thenecho "${target_db}.$tbl 目标库已经存在...,请确认表结构是否与源表一致"else# 1、 在 ${target_db} like 建表
echo "1、 create table ${target_db}.$tbl like $table;"
beeline -e "create table ${target_db}.$tbl lik