gpt4 book ai didi

linux - 如何在hadoop中根据出生时间 move 文件

转载 作者:太空宇宙 更新时间:2023-11-04 12:01:24 25 4
gpt4 key购买 nike

我在一个文件夹中有大约 200k 个文件,我想根据出生时间(创建时间)组织它们。我写了下面的脚本,但它太慢了。我想改进它。我该怎么做?

#!/usr/bin/env bash
echo Input directory is $1
input_directory=$1

## Find those files that are older than a month

inputfiles=$(hadoop fs -ls $input_directory | sed '1d;s/ */ /g' | cut -d\ -f8)

for filename in $inputfiles
do
echo processing $filename

hadoop fs -test -d $filename

lastcommand=$?

if [ "$lastcommand" == "1" ];then

year=$(date -d "`hadoop fs -stat $filename`" +%Y)
month=$(date -d "`hadoop fs -stat $filename`" +%m)

hadoop fs -test -d $input_directory/$year-$month
lastcommand2=$?

[[ "$lastcommand2" == "1" ]] && hadoop fs -mkdir -p $input_directory/$year-$month;

hadoop fs -mv $filename $input_directory/$year-$month/
else
echo not a file
fi
done

最佳答案

我能够使用 hadoop 文件系统重命名命令来 move 苍蝇,而且效果很好。把时间从几小时缩短到一分钟。谢谢

关于linux - 如何在hadoop中根据出生时间 move 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52284003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com