为了测试hadoop对小文件的性能,所以用shell脚本生成了一千万个小文件用于测试.
一共生成了一千万个小文件,采用/的方式顺序写入1000个文件夹里面,然后每个文件夹里有一万个小文件.
文件里面我就存放了一个数字,如果需要的话,可以改成自己想要的
生成的脚本如下:
#!/bin/sh
source /etc/profile
#程序的最终输出目录
path="/a/zl/tmp"
if [ ! -d path ];
then
mkdir -p $path
fi
#生成多少个文件
for index in {0..10000000}
do
#确定最终输出目录里面有多少个子目录,
#这里是放到1000个文件夹里面了, 每个文件里面有1万个小文件
#单个目录里面的文件数量不推荐超过100万,不然操作系统会很卡
num=`expr $index / 10000`
tmpPath="${path}/data_${num}"
if [ ! -d $tmpPath ];
then
mkdir -p $tmpPath
fi
#输出一个数字到目标文件
echo "${index}" > $tmpPath/bk-${index}.txt
done