1

实际上我的意图是将hadoop作业的输出重命名为.csv文件,因为我需要在rapidminer中可视化这个csv数据。

我如何以 csv 格式输出 hadoop 结果中说,为此我需要遵循以下三个步骤:

    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
4

1 回答 1

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 格式。

于 2013-05-02T10:18:20.197 回答