Recherche de répertoires de plus de N jours dans HDFS
Peut hadoop fs -ls être utilisé pour trouver tous les répertoires de plus de N jours (à partir de la date actuelle)?
Je suis en train d'écrire un nettoyage de routine pour trouver et supprimer tous les répertoires sur HDFS (correspondant à un modèle) qui ont été créés à N jours avant la date actuelle.
source d'informationauteur vid12
Vous devez vous connecter pour publier un commentaire.
Ce script la liste de tous les répertoires qui sont âgés de plus de
[days]
:Pour de vrai clusters n'est pas une bonne idée,
pour utiliser la commande ls. Si vous avez les droits d'admin,
il est plus approprié d'utiliser fsimage.
J'ai modifier le script ci-dessus pour illustrer l'idée.
tout d'abord, récupérez fsimage
convertir en texte (même sortie que lsr donne)
Script:
Si vous arrive d'être en utilisant
CDH
de distribution d'Hadoop, il est livré avec une très utile HdfsFindTool de commande, qui se comporte comme Linuxfind
de commande.Si vous utilisez la valeur par défaut des parcelles d'informations, voici comment vous pouvez le faire:
Où vous remplacez le CHEMIN avec le chemin de recherche et de N avec un nombre de jours.
hdfs dfs -ls /hadoop/chemin/*.txt|awk '$6 < "2017-10-24"'