五台服务器上有一个hbase,其中一个表包含一个列族,我应该做一些 map 每个键上的任务并保存结果。主要问题是:要保持数据的局部性,哪一个更好:在现有表上创建新列族还是创建新表?下一个问题是:hbase文档建议保持低于三列的家族,正如我所说的,我有超过十列的家族 map 任务并将每个结果保留在新的列族中。我该怎么办?因为每个 map 任务与其他任务不同。局部保持和搜索代价是重要的。
map
brgchamk1#
哪一个更好:在现有表上创建新列族还是创建新表我建议您更多地关注模式和表设计的简单性,而不是试图破解hbase内部以获得最佳性能。如果来自这两个列族的信息是相关的,并且您需要访问map reduce扫描中的两个cfs,请将它们放在同一个表中。如果信息是100%独立的,您将永远不需要同时扫描它们-将它们放在不同的表中。同样,这是一个模式设计问题,不要试图进行过早的优化。第二个问题-我不明白你在说什么,对不起。
1条答案
按热度按时间brgchamk1#
哪一个更好:在现有表上创建新列族还是创建新表
我建议您更多地关注模式和表设计的简单性,而不是试图破解hbase内部以获得最佳性能。如果来自这两个列族的信息是相关的,并且您需要访问map reduce扫描中的两个cfs,请将它们放在同一个表中。如果信息是100%独立的,您将永远不需要同时扫描它们-将它们放在不同的表中。同样,这是一个模式设计问题,不要试图进行过早的优化。
第二个问题-我不明白你在说什么,对不起。