1 mysql表结构
2 定义mysql连接信息
TABLE=data_cycle
HOST_NAME=”mysql.data.xxx.com.cn”
DB_NAME=”suda_portal_data”
USER_NAME=”suda”
PASSWD=”xxxxx”
MYSQL_ETL=”mysql -h $HOST_NAME -P4053 -D$DB_NAME -u$USER_NAME -p$PASSWD -N –default-character-set=utf8 -e “
3 查询出需要删除的记录写到文件
sql_get=”SELECT * FROM $TABLE;”
$MYSQL_ETL “$sql_get” > new_user.txt
4 按行读文件开始删除
# 用到awk 取每行的字段
cycle=""
cat new_user.txt | while read line
do
# 获取参数
user=`echo "$line" | awk -F '\t' '{print $1}'`
prefix=`echo "$line" | awk -F '\t' '{print $2}'`
path=`echo "$line" | awk -F '\t' '{print $3}'`
cycle=`echo "$line" | awk -F '\t' '{print $4}'`
format=`echo "$line" | awk -F '\t' '{print $5}'`
str=$cycle" days ago"
echo $cycle
# 拼接路径格式
lastday=`date –date="$str" +$format`
echo $lastday
echo $path$prefix$lastday
hadoop fs -rmr $path$prefix$lastday
done