hadoop - 这是对 HBase 的合适(或可能)使用吗?

标签 hadoop bigtable hbase

我想将 HBase 用作存储,我可以在其中推送格式为 {document => {term => weight}} 的几百万个条目,例如“将术语 X 插入权重为 Z 的文档 Y”,然后发出“为该文档选择前 1000 个术语”或“为每个文档选择前 1000 个术语”之类的命令。这适用于我当前的 MySQL 实现,但也许该域更适合 HBase。我注意到 HBase 和 BigTable 用于全文索引,这是一个类似的问题域。

您可以看出我只阅读了几页有关 HBase 的内容,但我希望您能理解我的问题的要点。与this question有关.

可能的障碍可能包括 HBase 不允许使用等效于 LIMIT 子句的查询。鉴于我想按权重查询,我想关联 {weight => term},这对于两个具有相同权重的术语来说会有问题(我假设 HBase 只允许唯一键)。或者,我必须为给定权重存储一组术语,但这会限制我准确限制返回术语数量的能力。

最佳答案

简单的回答是。

更复杂的答案,现在这些“无 sql”数据存储区各自实现了自己的程序员接口(interface),并且“无 sql”意味着它们不是基于 SQL 的。因此,请为一些编码做好准备,但这并不困难。大多数这些数据存储只是名称值对存储,通过 REST 或 SOAP 获取(HBase 也有列族的概念)。不过,他们所做的是 Map Reduce,这是一个非常有趣的查询领域,非常值得一读。

关于hadoop - 这是对 HBase 的合适(或可能)使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1683648/

相关文章:

hadoop - 我们可以直接将 Parquet 文件加载到 Hive 中吗?

apache - 使用Hadoop 2.4.1时Oozie 4.0.1构建错误

java - 从文件中按 Hadoop 中的值排序

Bigtable:在行键上使用时间戳时避免热点

c# - Facebook 的大表实现

java - Hadoop 自定义 Mapper 输出格式到 Reducer

orm - 没有 JOIN 的生活......理解和常见做法

hadoop - Hbase:如何知道一行是否有特定的列族?

hadoop - 运行 Apache Pig 脚本时如何查找 jar 依赖项?

hadoop - 尝试从Hive创建Hbase表时出现NoClassDefFoundError(HBaseConfiguration)