似乎Hadoop
(reference)支持它,但我不知道如何使用它。
我想:
a.) Map - Read a huge XML file and load the relevant data and pass on to reduce
b.) Reduce - write two .sql files for different tables
为什么我选择map / reduce是因为我必须为驻留ondisk的100k(may be many more)
xml文件执行此操作。欢迎任何更好的建议
任何资源/教程解释如何使用它是值得赞赏的。
我正在使用Python
并希望了解如何使用streaming
谢谢
答案 0 :(得分:0)
可能不是一个优雅的解决方案,但您可以创建两个模板,以便在作业完成后将reduce任务的输出转换为所需的格式。通过编写一个shell脚本可以实现自动化,该脚本可以查找reduce输出并在其上应用模板。使用shell脚本,转换按顺序进行,并不处理集群中的n台机器。
或者在reduce任务中,您可以将两种输出格式创建为具有一些分隔符的单个文件,然后使用分隔符将它们拆分。在此方法中,由于转换发生在reduce中,因此转换将分布在集群中的所有节点上。