HBase 与多列的一对多关系
Posted
技术标签:
【中文标题】HBase 与多列的一对多关系【英文标题】:HBase one-to-many relationship with multiple columns 【发布时间】:2019-07-18 10:21:42 【问题描述】:我一直在尝试使用 HBase 一对多关系存储。考虑一下,我有 Person 表来维护他/她的贷款。一个人可以有多个贷款,我需要存储贷款及其类型。
我已经完成了给出here 和here 的示例,基于我将贷款作为列族,贷款(具有唯一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
我想从这张表中获取拥有特定贷款的人。 我做不到。所以我改变了如下结构-
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】:我正在处理第一个结构,因为我可以在 ColumnPrefixFilter 的帮助下通过匹配列名(贷款 ID)来获取行键。对此有任何建议/更改请告诉我。
【讨论】:
以上是关于HBase 与多列的一对多关系的主要内容,如果未能解决你的问题,请参考以下文章