hadoop1.0.3
今天测试了下hadoop的shell命令中的put和copyFromLocal命令。在测试之前首先网上搜索了下,找到这篇文章:http://hakunamapdata.com/why-put-is-better-than-copyfromlocal-when-coping-files-to-hdfs/ ,上面说put is better than copyFromLocal,然后上面讲了好多,结果最后的结论只是put比copyFromLocal短,写起来方便。我晕。
同时上面也说明了copyFromLocal和put的关系,从代码上面来看copyFromLocal是继承put的,代码如下:
public static class CopyFromLocal extends Put {
public static final String NAME = "copyFromLocal";
public static final String USAGE = Put.USAGE;
public static final String DESCRIPTION = "Identical to the -put command.";
}
只是定义了三个变量,然后就没有内容了。
不过接下来,我自己实际的测试后,发现copyFromLocal性能比put性能好。
测试使用数据为:91.45 MB。
测试后看到log信息如下,下面是截图:
然后是日志(非图片版):
2014-03-12 16:27:26,829 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLog: Number of transactions: 1