2011-11-17 92 views
2

我几乎是全新的HBase。我想采用基于MySQL的当前网站跟踪并将其放到HBase上,因为MySQL不会再扩展。使用HBase进行分析

我完全失去了INT EH第一步......

我需要跟踪用户的不同的动作,需要能够通过某些方面(日期汇总他们,国家,他们来自何方,他们的产品进行与...等的行动)

我目前的存储方式是,我有一个与所有这些方面(国家,日期,产品,...)和其他领域的复合PK是行动计数器。当执行操作时,我将它插入到将操作列逐一递增的表中(ON DUPLICATE KEY UPDATE ...)。

*date  | *country | *product | visited | liked | put_to_basket | purchased 
2011-11-11 | US  | 123  | 2  | 1  | 0    | 0 
2011-11-11 | GB  | 123  | 23  | 10 | 5    | 4 
2011-11-12 | GB  | 555  | 54  | 0  | 10   | 2 

我有一种感觉,这完全是针对HBase的方式,也并没有真正规模(日益增多,如果钥匙插入得到昂贵),而不是真正的灵活。

如何在HBase中有效跟踪用户操作?表格的样子应该如何? MapReduce来自哪里?

感谢您的所有建议!

回答

1

这是可以做到如下,

有在HBase的唯一行ID如下什么设计,

rowid = date + country + product --->将这些添加到一个实体中并将其作为关键字。

然后将计数器作为列。所以,当你得到一个事件,如

if(event == liked){ 
increment the liked column of the hbase by 1 for the corresponding key combination. 
} 

等等的其他情况。

希望这有助于!