将文件样本从hdfs复制到本地fs?

时间:2013-08-29 20:34:56

标签: hadoop

确定,

一个非常愚蠢的问题......

我在hdfs中有一个大文件

/user/input/foo.txt

我想将此位置的前100行复制到本地文件系统...

而且数据非常敏感,所以我对实验有点敏感。

将样本数据从hdf复制到本地fs的正确方法是什么。

3 个答案:

答案 0 :(得分:4)

如果文件未压缩:

bin/hadoop fs -cat /path/to/file |head -100 > /path/to/local/file

如果文件已压缩:

bin/hadoop fs -text /path/to/file |head -100 > /path/to/local/file

答案 1 :(得分:1)

您可以使用head程序从文件开头提取几行,例如:

$ head /user/input/foo.txt -n100

(其中n确定要提取的行数),并将输出重定向到您选择的文件:

$ head /user/input/foo.txt -n100 > /path/to/you/output/file

答案 2 :(得分:1)

这是一种确保胜利的简单方法:

hdfs dfs -copyToLocal /user/input/foo.txt /path/to/local/file | head -100