五台服务器上有HBase,其中一个表包含一列Family,我应该对每个键在其上执行一些map
任务,并保存结果。
主要问题是:
保持数据局部性哪个更好:在存在表上创建新列族还是创建新表?
和下一个问题:
HBase文档建议保持低于三个列族,并且正如我告诉我的,我有十多个map
任务,并将每个结果保留在新的列族中。我该怎么办?因为每个map
任务都与另一个不同。 位置的保存和搜索费用很重要。
答案 0 :(得分:2)
哪个更好:在存在表上创建新的列族 或创建新表
我建议您更多地关注表设计的模式和简单性,而不要尝试破解HBase内部结构以获得最佳性能。如果这两个列族的信息相关并且您需要在map-reduce扫描中访问两个CF,请将它们保存在同一表中。如果信息是100%独立的,并且您将不需要同时扫描它们-将它们放在不同的表中。再次,这是一个架构设计问题,不要尝试执行过早的优化。
第二个问题-对不起,我不明白你的要求。