我最近从rdbms切换到Hbase以处理数百万条记录。但作为新手,我不确定什么是设计Hbase方案的有效方式。实际上,场景是我有文本文件,其中有数百,数千和数百万条记录,我必须读取并存储到Hbase中。所以,有两组文本文件(RawData文件,标签文件)相互链接,因为它们属于同一用户,对于这些文件,我制作了两个单独的表格(RawData和Label),我将它们的信息存储在那里。所以RAWDATA文件和RAWDATA表是这样的:Hbase Scheme设计 - 最佳实践
所以,你可以在我的RAWDATA表见我行键实际上是文本文件(01-01-全数据的文件名.txt)和每行文本文件的行号。列族只是随机的'r',列限定符是文本文件的列,值是列的值。这是我如何在我的表中插入记录,我有第三个表(MapFile),其中我将textfile的名称存储为用户的行关键用户标识,作为列限定符和文本文件的记录总数,如下所示:
01-01-All-Data.txt column=m:1, timestamp=1375189274467, value=146209
我将使用映射文件表,以读取行RAWDATA表行..
你怎么看待这种HBase的架构有何建议?这是一种正确的方式吗?或者它在Hbase概念中没有意义?
此外,值得一提的是,在Hbase中插入21个带有146207行的21 MB文件需要大约3分钟。
请教。
感谢
检查了这一点: http://java.dzone.com/videos/hbase-schema-design-things-you 它会帮助你正确选择你的模式 – Udy
@Udy提到的视频的更新链接:https://www.youtube.com/watch?v=_HLoH_PgrLk –