descargar - hdfs hadoop que es
eliminar carpetas de particiones en hdfs anteriores a N días (2)
Puedes probar con solr hdfsfindtool:
hadoop jar /opt/cloudera/parcels/CDH/lib/solr/contrib/mr/search-mr-job.jar org.apache.solr.hadoop.HdfsFindTool -find /data/publish/DMPD/VMCP/staging/tvmcpr_usr_prof -mtime +50 | xargs hdfs dfs -rm -r -skipTrash
Quiero eliminar las carpetas de particiones que son anteriores a N días.
El siguiente comando da las carpetas que son exactamente hace 50 días. Quiero la lista de todas las carpetas que tienen menos de 50 días
hadoop fs -ls /data/publish/DMPD/VMCP/staging/tvmcpr_usr_prof/chgdt=`date --date ''50 days ago'' +/%Y-/%m-/%d`
Se puede hacer con un script bash
today=`date +''%s''`
hdfs dfs -ls /data/publish/DMPD/VMCP/staging/tvmcpr_usr_prof/ | grep "^d" | while read line ; do
dir_date=$(echo ${line} | awk ''{print $6}'')
difference=$(( ( ${today} - $(date -d ${dir_date} +%s) ) / ( 24*60*60 ) ))
filePath=$(echo ${line} | awk ''{print $8}'')
if [ ${difference} -lt 50 ]; then
echo "${filepath}"
fi
done