1

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

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

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

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

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

4

2 回答 2

1

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

  • 将数据复制到分布式缓存,以便节点可以将其加载到哈希图中
  • 在映射器/减速器中使用键/值存储。例如:Redis、HBase 或 Voldemort
    请注意,数据库访问可能会导致巨大的性能损失。
  • 将查找数据存储在 HDFS 上,并在需要时将其加入您正在处理的数据集。Pig,这里可以使用 Hadoop 的更高级别的抽象。

如果您要使用键值存储,我建议您研究Voldemort,它实际上是一个分布式哈希表。您可以通过一个简单的 Hadoop 作业(只读存储功能)填充其存储。

于 2013-11-15T14:10:30.580 回答
0

如果数据的大小很小,则可以使用分布式缓存。查找数据将被复制到执行所需的所有节点。

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

于 2013-11-15T07:06:44.490 回答