[HADOOP] N 일보다 오래된 hdfs의 파티션 폴더 삭제
HADOOPN 일보다 오래된 hdfs의 파티션 폴더 삭제
N 일이 넘은 파티션 폴더를 삭제하고 싶습니다.
아래의 명령은 정확하게 50 일 전의 폴더를 제공합니다. 50 일 미만의 모든 폴더 목록을 원합니다.
hadoop fs -ls /data/publish/DMPD/VMCP/staging/tvmcpr_usr_prof/chgdt=`date --date '50 days ago' +\%Y-\%m-\%d`
해결법
-
==============================
1.당신은 solr hdfsfindtool을 시도 할 수 있습니다 :
당신은 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
-
==============================
2.bash 스크립트로 수행 할 수 있습니다.
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
from https://stackoverflow.com/questions/43889792/delete-partitions-folders-in-hdfs-older-than-n-days by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Cloudera에 serde로 JSON 파일로드하기 (0) | 2019.07.03 |
---|---|
[HADOOP] MapReduce 값을 내림차순으로 정렬 (0) | 2019.07.03 |
[HADOOP] Hadoop put 명령 던지기 - 1 대신 1 개의 노드에만 복제 가능 (0) | 2019.07.03 |
[HADOOP] HDFS : Java / Scala API를 사용하여 여러 파일 이동 (0) | 2019.07.03 |
[HADOOP] HBase에서 복구가 어떻게 작동합니까? (0) | 2019.07.03 |