实际上我的意图是将hadoop作业的输出重命名为.csv
个文件,因为我需要在rapidminer中可视化这个csv数据。
在How can i output hadoop result in csv format中有人说,为此我需要遵循以下三个步骤:
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
如果是这样,我怎样才能做到这一点?
UPDATE
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
答案 0 :(得分:1)
首先,您需要从HDFS中检索MapReduce结果
hadoop dfs -copyToLocal path_to_result/part-r-* local_path
然后将它们录入单个文件
cat local_path/part-r-* > result.csv
然后它取决于你的MapReduce结果格式,如果它已经是csv格式,那么就完成了。如果没有,可能你必须使用其他工具如sed或awk将其转换为csv格式。