有没有办法可以使用HDFS命令将hdfs文件的文本内容复制到另一个文件系统中:
hadoop fs -text /user/dir1/abc.txt
我可以使用-cat或任何方法将-text的输出打印到另一个文件中吗?:
hadoop fs -cat /user/deepak/dir1/abc.txt
答案 0 :(得分:2)
正如documentation中所写,您可以使用hadoop fs -cp
复制hdfs
中的文件。您可以使用hadoop fs -copyToLocal
将文件从hdfs
复制到本地文件系统。如果您要将文件从一个hdfs
复制到另一个{{1}},请使用DistCp tool。
答案 1 :(得分:0)
作为常规命令行提示,您可以将|
用于其他程序,或将>
或>>
用于文件,例如
# 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
答案 2 :(得分:0)
谢谢我在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
你可以使用" / bin / wc"如果您想计算hdfs序列文件中的行数。
答案 3 :(得分:0)
您可以使用以下内容:
hadoop dfs -copyToLocal /HDFS/file /user/deepak/dir1/abc.txt
hadoop dfs -getmerge /HDFS/file /user/deepak/dir1/abc.txt
hadoop dfs -get /HDFS/file /user/deepak/dir1/abc.txt