如何将-text hdfs命令的输出复制到另一个文件中?

sshcrbum  于 2021-05-30  发布在  Hadoop
关注(0)|答案(4)|浏览(627)

我们是否可以使用hdfs命令将hdfs文件的文本内容复制到另一个文件系统:

hadoop fs -text /user/dir1/abc.txt

我可以使用-cat或任何方法将-text的输出打印到另一个文件中吗

hadoop fs -cat /user/deepak/dir1/abc.txt
lp0sw83n

lp0sw83n1#

谢谢,我在hadoop home lib文件夹中使用了流jar示例,如下所示:

hadoop -jar hadoop-streaming.jar -input hdfs://namenode:port/path/to/sequencefile \
-output /path/to/newfile -mapper "/bin/cat" -reducer "/bin/cat" \
-file "/bin/cat" -file "/bin/cat" \
-inputformat SequenceFileAsTextInputFormat

如果您想计算hdfs序列文件中的行数,可以使用“/bin/wc”。

js4nwp54

js4nwp542#

作为一般的命令行提示,您可以使用 | 转到另一个程序或 > 或者 >> 到一个文件,例如。


# Will output to standard output (console) and the file /my/local/file

# this will overwrite the file, use ... tee -a ... to append

hdfs dfs -text /path/to/file | tee /my/local/file

# Will redirect output to some other command

hdfs dfs -text /path/to/file | some-other-command

# Will overwrite /my/local/file

hdfs dfs -text /path/to/file > /my/local/file

# Will append to /my/local/file

hdfs dfs -text /path/to/file >> /my/local/file
mqxuamgl

mqxuamgl3#

正如你可以使用的文档中所写的那样 hadoop fs -cp 在中复制文件 hdfs . 你可以用 hadoop fs -copyToLocal 从中复制文件 hdfs 到本地文件系统。如果你想从一个 hdfs 然后使用distcp工具。

6tr1vspr

6tr1vspr4#

您可以使用以下选项:
复制局部 hadoop dfs -copyToLocal /HDFS/file /user/deepak/dir1/.txt 获取合并 hadoop dfs -getmerge /HDFS/file /user/deepak/dir1/.txt 得到 hadoop dfs -get /HDFS/file /user/deepak/dir1/.txt

相关问题