2013-11-14 65 views
1

我们计划将现有应用程序迁移到hadoop。我们目前使用很多查找表/文件作为参考。Hadoop查找商店选项

什么应该是这样的表/文件存储在Hadoop中的生态系统

1)创建蜂巢/ HBase的查找表 将它需要独立的先生工作刚刚加入这个查找文件的最佳选择?

2)HDFS文件中使用的参考查找

而且我们应该采取对查找表的大小这个决定?

回答

0

如果数据的大小很小,则可以使用Distributed Cache。查找数据将被复制到所有需要执行的节点。

在使用数据库存储查找值时,请考虑映射器/缩减器将对数据库建立的连接数。

1

选择最佳选择取决于许多因素,如数据的大小和性质,网络基础设施..等等。您可以考虑以下选项:

  • 的数据复制到分布式缓存,以便节点可以在 加载到一个HashMap
  • 映射器/减速器内使用的键/值存储。例如:Redis, HBase or Voldemort
    请注意,DB访问可能导致巨大的性能降低。
  • 将查找数据存储在HDFS上,并在需要时将其加入到您正在处理的数据集中。在这里可以使用Hadoop的更高层次的抽象。

如果您打算使用键值存储,我建议您查看Voldemort这实际上是分布式hashtabe。 您可以通过简单的Hadoop作业来填充其商店(read-only store功能)。