hbase与多列的一对多关系

lqfhib0f  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(442)

我一直在尝试使用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中实现与多个列的一对多关系,以及如何存储这些列?
是否有任何查询通过匹配列名来获取行键?如果我能做到这一点,我能修复一对多关系的第一个结构吗?

kh212irz

kh212irz1#

我继续使用第一个结构,因为我能够在columnprefixfilter的帮助下通过匹配列名(贷款id)来获取行键。对此有什么建议/改动请告诉我。

相关问题