我有三种不同的解决方案,我用document_ids存储文档(搜索引擎,nosql数据库和自行开发的语义索引应用程序)。
我正在针对所有不同的解决方案运行查询,并希望使用类似于 SQL JOIN 的东西合并它们。这意味着我有时可能需要在document_id上联接 3 个或更多不同的数据集。
你知道Hadoop上的Map Reduce或类似的东西是否是解决这个问题的最佳方法吗?这些数据集可以包含 1 document_id 到 100 000 之间的任何内容。
感谢您的时间!
Hadoop 很好,如果你需要在加入文档之前在文档处理期间应用大量的 CPU。在同一个作业处理文档(在MAP函数中)你可以使用洗牌过程作为加入引擎相对容易。
同时,100K 项的简单连接不需要比适度的 RDBMS 更多的连接。
对于这样的小型数据集 - 几乎任何东西都可以工作。特别是 - 我建议使用内存系统,因为您的所有数据都可以轻松放入内存中。GridGain就是这样一种解决方案(完全支持内存中MapReduce,SQL等)。