业务背景

约定五天前的HDFS数据为过期版本号数据。写一个脚本自己主动删除过期版本号数据

$ hadoop fs -ls /user/pms/workspace/ouyangyewei/data
Found 9 items
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-01
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-02
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-03
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-04
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-05
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-06
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-07
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-08
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-09

脚本实现

# ---------------------------------------------------------
#
# 删除历史版本号(五天前的为过期版本号数据)
#
# ---------------------------------------------------------old_version=$(hadoop fs -ls /user/pms/workspace/ouyangyewei/data | awk 'BEGIN{ five_days_ago=strftime("%F", systime()-5*24*3600) }{ split($8,arr,"/"); if(arr[7]<five_days_ago){printf "%s\n", $8} }')
arr=(${old_version// / })
for version in ${arr[@]}
do hadoop fs -rmr $version
done

运行以后

$ hadoop fs -ls /user/pms/workspace/ouyangyewei/data
Found 4 items
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-06
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-07
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-08
drwxr-xr-x   - pms pms          0 2015-08-11 17:03 /user/pms/workspace/ouyangyewei/data/2015-08-09

转载于:https://www.cnblogs.com/jzdwajue/p/7218361.html

[Linux]结合awk删除hdfs指定日期前的数据相关推荐

  1. 利用批处理脚本删除指定日期前文件

    利用批处理脚本删除指定日期前文件 删除指定日期前文件 根据需求可分为两种情况: 一. 以修改时间为准,删除N天之前数据 以修改时间为准删除数据脚本很简单,DOS自有命令即可实现: forfiles / ...

  2. mysql数据库ftp备份_Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本...

    说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的vos3000db数据库到/home/mysql_data里面,并且保存为vos3000db_bak_2012_06_30.t ...

  3. linux如何删除指定大小以下的文件夹,Linux中定时删除超过指定大小的文件夹

    背景: 开发环境总是动不动就没有空间了, 大部分都是debug日志.所以有必要在日志很疯狂的时候,删除不必要的日志. 思路:一. 书写删除日志文件脚本: 定时任务执行.  但是有时候的日志是需要保存用 ...

  4. 【时间处理】获取官方节假日数据的api接口,获取指定日期的节假日数据

    获取指定日期的节假日信息 1.接口地址:http://api.goseek.cn/Tools/holiday?date=数字日期 2.返回数据:正常工作日对应结果为 0, 法定节假日对应结果为 1, ...

  5. Crontab 自动删除指定日期前文件或者文件夹

    编写自动定时删除的脚本 vim deletem.sh 添加如下内容,记得给脚本deletem.sh设置权限. #!/bin/bash starttime=$(date +%Y-%m-%d\ %H:%M ...

  6. python删除指定日期前的备份文件

    这个脚本还有待完善,没有加入迭代子目录,后期完善. #!/bin/env python #coding=utf-8 import time,datetime,os,sysdir='/usr/local ...

  7. linux 定时任务,压缩 日志,并删除掉 指定日期之前的 日志

    sh文件 #!/bin/shmyPath="/var/www/Client/storage/logs/"myFile="lumen.log"cd $myPath ...

  8. java取上一个月_Java获取指定日期前一月(年)或后一月(年)

    /** * 获取指定月的前一月(年)或后一月(年) * @param dateStr * @param addYear * @param addMonth * @param addDate * @re ...

  9. 命令行删除目录下指定日期前文件

    显示文件 FORFILES /P D:\backupseed /S /M *.blf /D -3 /C "cmd /c echo @path" 删除文件 FORFILES /P D ...

最新文章

  1. php制作表格生成器,php表格生成图片.doc
  2. 独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别
  3. [转]要有梦----送给自己,希望自己能尽快走出当前的痛苦期
  4. Linux实验五:Linux环境下的C语言编程
  5. 一位跟我一样疑惑的同学~
  6. 阿里开发者招聘节 | 面试题01:如何实现一个高效的单向链表逆序输出?
  7. 【Python】循环的拓展
  8. TypeScript 3.9 发布
  9. IQKeyboardManager 在iOS11导航栏消失的问题
  10. 2019年,瑞云渲染做了这些事……
  11. Qt保留小数点后两位
  12. [Python WEB开发] 使用WSGI开发类Flask框架 (二)
  13. 拓端tecdat|R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化
  14. 2018 考研 408 经验贴——总结篇
  15. KMP复习之poj 3461 Oulipo
  16. 毕业生自传---(蝶变亚信)
  17. 教大家用python画皮卡丘的脸
  18. 常用快捷键大全Win7快捷键
  19. openssl工具详解及自建CA方法
  20. 常用的原生DOM操作汇总

热门文章

  1. AttributeError: module 'tensorflow' has no attribute 'sub'
  2. Centos6 安装RabbitMq3.7.7
  3. yocto-sumo源码解析(十一): recvfds
  4. P3119 [USACO15JAN]草鉴定Grass Cownoisseur
  5. oracle的常用sql
  6. Mybatis sql注入问题
  7. userdel account is currently in use
  8. 转载--c语言宏定义(1)
  9. CSS自学笔记(16):CSS3 用户界面
  10. python web 框架(八)-- Scrapy