如何将我的hadoop结果重命名为一个带有“0”的文件;。csv";延伸
实际上,我的意图是将hadoop作业的输出重命名为如何将我的hadoop结果重命名为一个带有“0”的文件;。csv";延伸,csv,hadoop,mapreduce,Csv,Hadoop,Mapreduce,实际上,我的意图是将hadoop作业的输出重命名为.csv文件,因为我需要在rapidminer中可视化此csv数据 据说,为此,我需要遵循以下三个步骤: 1. Submit the MapReduce Job 2. Which will extract the output from HDFS using shell commands 3. Merge them together, rename as ".csv" and place in a directory
.csv
文件,因为我需要在rapidminer中可视化此csv数据
据说,为此,我需要遵循以下三个步骤:
1. Submit the MapReduce Job
2. Which will extract the output from HDFS using shell commands
3. Merge them together, rename as ".csv" and place in a directory where the visualization tool can access the final file
如果是,我怎样才能做到这一点
更新
myjob.sh
:
bin/hadoop jar /var/root/ALA/ala_jar/clsperformance.jar ala.clsperf.ClsPerf /user/root/ala_xmlrpt/Amrita\ Vidyalayam\,\ Karwar_Class\ 1\ B_ENG.xml /user/root/ala_xmlrpt-outputshell4
bin/hadoop fs -get /user/root/ala_xmlrpt-outputshell4/part-r-00000 /Users/jobsubmit
cat /Users/jobsubmit/part-r-00000 /Users/jobsubmit/output.csv
显示:
The CSV file was empty and couldn’t be imported.
当我试图打开output.csv
时
解决方案
cat /Users/jobsubmit/part-r-00000> /Users/jobsubmit/output.csv
首先,您需要从HDFS检索MapReduce结果
hadoop dfs -copyToLocal path_to_result/part-r-* local_path
然后将它们放在一个文件中
cat local_path/part-r-* > result.csv
然后它取决于您的MapReduce结果格式,如果它已经是csv格式,那么就完成了。如果没有,您可能必须使用其他工具(如sed或awk)将其转换为csv格式。首先,您需要从HDFS检索MapReduce结果
hadoop dfs -copyToLocal path_to_result/part-r-* local_path
然后将它们放在一个文件中
cat local_path/part-r-* > result.csv
然后它取决于您的MapReduce结果格式,如果它已经是csv格式,那么就完成了。如果没有,您可能必须使用其他工具(如sed或awk)将其转换为csv格式。一切正常,但当我在localfs中查看.csv文件时,该文件为空。我也在共享我的shell脚本。但是没有显示任何错误。在本地部分中-r-00000包含文本。您需要添加“>”,这是输出重定向,就像上面在我的回答中的cat命令一样。一切正常,但当我在localfs中查看我的.csv文件时,该文件为空。我也在共享我的shell脚本。但是没有显示错误。在本地部分中,r-00000包含文本。您需要添加“>”,这是输出重定向,就像上面我的答案中的cat命令一样