我一直在尝试使用hbase一对多关系存储。考虑一下,我有个人表来维持他/她的贷款。一个人可以有多个贷款,我需要存储贷款和它的类型。
我已经阅读了这里和这里给出的示例,基于此,我将loan作为列family,loans(具有惟一id)作为列,将其类型作为值。下面是我的person表的结构
ROW COLUMN+CELL
dinesh column=loan:DFGHBCN, timestamp=1563443783271, value=home
dinesh column=loan:FBCPOIBAMN,timestamp=1563443796628, value=personal
dinesh column=loan:XPABSTWLMN,timestamp=1563443815217,value=personal
我想从这张table上找一个有特殊贷款的人。我做不到。所以我改变了结构如下-
ROW COLUMN+CELL
dinesh column=loan:loan_1, timestamp=1563443783271, value=DFGHBCN
dinesh column=loan:type_1, timestamp=1563443783271, value=home
dinesh column=loan:loan_2,timestamp=1563443796628, value=FBCPOIBAMN
dinesh column=loan:type_2,timestamp=1563443796628, value=personal
dinesh column=loan:loan_3,timestamp=1563443815217,value=XPABSTWLMN
dinesh column=loan:type_3,timestamp=1563443815217,value=personal
我可以使用columnprefixfilter获取人名。我需要以下方面的帮助
如何在hbase中实现与多个列的一对多关系,以及如何存储这些列?
是否有任何查询通过匹配列名来获取行键?如果我能做到这一点,我能修复一对多关系的第一个结构吗?
1条答案
按热度按时间kh212irz1#
我继续使用第一个结构,因为我能够在columnprefixfilter的帮助下通过匹配列名(贷款id)来获取行键。对此有什么建议/改动请告诉我。