【发布时间】:2015-12-22 09:07:46
【问题描述】:
我在 hadoop 集群上有一个 8.8G 文件,我正在尝试提取某些行用于测试目的。
看到Apache Hadoop 2.6.0没有split命令,我怎么能不用下载文件。
如果文件在我会使用的 linux 服务器上:
$ csplit filename %2015-07-17%
前面的命令可以正常工作,在 Hadoop 上是否可以实现?
【问题讨论】:
我在 hadoop 集群上有一个 8.8G 文件,我正在尝试提取某些行用于测试目的。
看到Apache Hadoop 2.6.0没有split命令,我怎么能不用下载文件。
如果文件在我会使用的 linux 服务器上:
$ csplit filename %2015-07-17%
前面的命令可以正常工作,在 Hadoop 上是否可以实现?
【问题讨论】:
您可以结合使用 unix 和 hdfs 命令。
hadoop fs -cat filename.dat | head -250 > /redirect/filename
或者,如果文件的最后 KB 足够,您可以使用它。
hadoop fs -tail filename.dat > /redirect/filename
【讨论】:
head -250