具有多个列的HBase一对多关系

时间:2019-07-18 10:21:42

标签: python-3.x hbase hbase-filter

我一直在尝试使用HBase一对多关系存储。考虑,我有个人表格来维护他/她的贷款。一个人可以有多笔贷款,我需要存储贷款及其类型。

我已经查看了给出的herehere的示例,基于此,我将贷款保留为列族,将贷款(具有唯一标识)保留为列,并将其类型保留为值。下面是我的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来获取人名。我需要以下帮助

  1. 如何在HBase中与多列实现一对多关系,以及如何存储它们?
  2. 是否有任何查询通过匹配列名来获取行键?如果我能够实现,可以为一对多关系确定第一个结构吗?

1 个答案:

答案 0 :(得分:0)

我正在使用第一个结构,因为我可以通过在ColumnPrefixFilter的帮助下匹配列名(贷款ID)来获取行键。关于此的任何建议/更改,请告诉我。