如果haddop是我遇到的问题的正确工具,我很想知道。
我正在构建匹配2个数据集的离线流程(每月一次或每季度一次):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会成为这项工作的合适工具吗?
谢谢。
答案 0 :(得分:1)
它应该工作。但是,您的数据集并不足以证明使用hadoop是合理的。你可以在一个强大的服务器上运行它。您需要做的是首先将较小的数据集放入distcache以均匀分布在不同的节点上然后您可以从oracle数据库中提取第二个较大的数据集并将其上传到HDFS。然后启动一个匹配两个数据集的地图作业。生成输出只是标准的map-reduce编程。