我有一个庞大的产品数据库(大约3亿个产品)和大约100万用户。我想根据一些标准(性别、国家、年龄、兴趣……)向这个用户推荐产品。我写了一个算法,建议这个产品,我可以为每个用户建议多达100000个产品。我的问题是,在我的网站上显示这些数据之前,如何在Hbase中存储所有这些数据?
发布于 2014-05-21 01:27:07
您可以使用userID作为rowKey存储,并将productIds集(您可以将其视为页面)存储为列。该值将包含productIds的序列化列表。
您可能会将第一页分隔到单独的列系列中,以防止加载所有列(页)。请注意,Apache ( HBase )在超过2-3个CFs ( http://hbase.apache.org/book/number.of.cfs.html )的情况下性能不佳。MapR表商业产品通过将每个表的列族增加到64列来克服这一问题。
如果用户公开了第一个页面的产品,您可以将它们与其他列系列一起循环。
https://stackoverflow.com/questions/23523233
复制相似问题