我很想知道hadoop是否是解决我的问题的合适工具。
我正在构建离线流程(每月一次或每季度一次),它匹配两个数据集:A和B。数据集A位于Oracle上,数据集B是一个XML文件。数据集A约为20M条记录,数据集B约为6M条记录。
每张唱片代表一首音乐歌曲,格式如下:
song {
songid:
// type of string , avg_num_of_titles_per_song=1.4 , std_deviation=1.9
titles:[]
// type of string avg_num_of_performers_per_song=1.5 std_deviation=0.9
performers:[]
}两个记录在以下情况下匹配:-至少一个标题匹配,使用精确匹配或语音算法或距离算法-至少表演者匹配使用相同的算法:精确,语音,距离等(我们仍在评估匹配算法)
这个过程的输出是2个数据集:(1)单个匹配,其中A中的记录在B中只匹配一次,B中的相同记录在A中只匹配一次。(2)多个匹配
hadoop是这项工作的合适工具吗?
谢谢。
发布于 2010-03-04 11:45:52
应该能行得通。但是,您的数据集并没有那么大,不足以证明使用hadoop是合理的。您可能只需要在一台健壮的服务器上运行它。您需要做的是,首先将较小的数据集放入distcache,使其均匀分布在不同的节点上,然后您可以从oracle数据库中取出第二个较大的数据集,并将其上传到HDFS。然后启动将匹配两个数据集的地图作业。生成输出只是标准的map-reduce编程。
https://stackoverflow.com/questions/2372333
复制相似问题