HBase - 列族
我是 HBase 的初学者。 我需要设计我的桌子。 我想玩一下以下信息:
在日期 XX-XX-XXXX,单词“HELLO”位于文档 2,3,4 中,每个文档的权重为 12,45,36 - 我的原始数据:doc:D标题:'我喜欢土豆',重量:W,日期:D
我创建了一个表,行:单词,列:日期,值:doc 但我无法存储具有相同日期的多行。
我们可以为一个表创建多个列族吗? 设计架构的最佳方法是什么?
多谢
I'm a beginner in HBase.
I need to design my table.
I want to play with the following information:
At the date XX-XX-XXXX, the word 'HELLO' is in document 2,3,4 and the weight of each doc is 12,45,36
- My raw data: doc:D title:'i like potatoes',weight:W,date:D
I created a table with, row: word, column:date, value:doc
But I can't store multiple row with the same date.
Can we create multiple column families for a table?
What can be the best way to design the schema?
Thanks a lot
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
日期是文档中最相关的信息吗?正如您所说,每个日期只能使用给定的架构存储一个文档。另一种方法是创建一个复合键,例如:DATE_TIME_DOCUMENT-ID。文档 ID 可以是内容的 sha1 以确保唯一性。而且,如果您希望轻松检索最近的文档,您还可以反转 DATE-TIME 度量(例如 Long.MAX_VALUE - 文档时间戳)。如果你不关心日期,那么文档可以单独存储在它们的 id 上。
Is date the most relevant bit of information for a document? as you say, you can only store one document per date with your given schema. An alternative would be to make a compound key, like: DATE_TIME_DOCUMENT-ID. Document id's could be a sha1 of the contents to ensure uniqueness. And, if you want recent documents to be easily retrievable, you could also invert the DATE-TIME measure (e.g. Long.MAX_VALUE - document timestamp). If you don't care about date, then documents can be stored on their id alone.