定期刪除Hive表的過期資料

2021-10-13 07:21:04 字數 1240 閱讀 2632

由於hive中有很多表都是每日全量的,資料量比較大,有些是可以將過去歷史分割槽的資料進行刪除的,所以需要乙個定時執行的指令碼,定時刪除前七天的過期資料。

注:此指令碼只針對分割槽欄位為日期型別

#/bin/bash

today=

$(date +%y-%m-%d)

today_timestamp=

$(date -d "$today" +%s)

echo

"獲取今天日期:$today,今日日期的時間戳:$today_timestamp"

detele_day=

$(date -d "7 days ago" +%y-%m-%d)

detele_day_timestamp=

$(date -d "$detele_day" +%s)

echo

"獲取60天前日期:$detele_day,60天前日期的時間戳:$detele_day_timestamp"

hdfs_directorys=()

for hdfs_directory in$;

doecho

"當前要刪除的hdfs路徑為:$"

for hdfs_directory_p_day in

$(sudo -u hdfs hdfs dfs -ls $

|awk

'begin');

do p_day=

$(echo $hdfs_directory_p_day |

awk'begin'

) p_day_timestamp=

$(date -d "$p_day" +%s)

echo

"當前資料夾分割槽日期為:$p_day, 當前資料夾分割槽日期時間戳為:$p_day_timestamp"if[

$p_day_timestamp -lt $detele_day_timestamp];

then

echo

"該hdfs的目錄即將被刪除,路徑為:$hdfs_directory_p_day"

sudo -u hdfs hadoop dfs -rm -r -skiptrash $hdfs_directory_p_day

else

echo

"該hdfs的目錄處於正常週期內不會被刪除,路徑為:$hdfs_directory_p_day"

fidone

done

echo

"程式執行完成"

python定期清理過期資料

功能 定期清理資料夾中的過期資料 usr bin python3 coding utf 8 import os import time import datetime import shutil import socket import logging import sys 獲取主機名 hostna...

mongodb刪除過期資料

通常,你往某乙個mongo庫中插資料,然後按日輪詢,最終這個資料會越來越多,對於不用的資料需要進行清理。這篇文章主要將如何清理過期資料。舉個例子 你只需要最近2個月的資料,比如今天是20170829,那麼60天之前的資料都可以清理掉。你可以寫乙個crontab任務,然後匯入指令碼,每天執行一次,將6...

Redis過期資料和刪除策略

因為記憶體有限,有些資料不需要一直在記憶體中,可以設定一些規則,將一些資料設定過期,在記憶體中刪除,當然也不是隨便刪除,也要考慮到cpu的繁忙與空閒,以免出現redis各種命令執行很多,但是正好出現大量過期資料,已造成伺服器宕機 是在記憶體占用與cpu占用之間尋找一種平衡,顧此失彼都會造成redis...