Hadoop查找存储选项

时间:2013-11-14 23:59:27

标签: hadoop mapreduce hive

我们计划将现有的应用程序迁移到hadoop。我们目前正在使用许多查找表/文件作为参考。

在hadoop生态系统中存储此类表/文件的最佳选择

1)创建hive / hbase查找表       是否需要单独的mr作业才能加入此查找文件?

2)HDFS文件使用了参考查找

我们还应该对查询表的大小做出这个决定吗?

2 个答案:

答案 0 :(得分:1)

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

  • 将数据复制到分布式缓存,以便节点可以加载它 到一个hashmap
  • 在映射器/缩减器中使用键/值存储。例如:Redis, HBase or Voldemort
    请注意,数据库访问可能会导致巨大性能下降。
  • 将查找数据存储在HDFS上,并在需要时将其连接到您正在处理的数据集。 Pig,可以在这里使用比Hadoop更高级别的抽象。

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

答案 1 :(得分:0)

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

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