问题标签 [hbase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1759 浏览

nosql - 使用 HBase 和/或 Cassandra 进行搜索(和一般查询)(最佳实践?)

我有用户模型对象,其中包含很少的字段(属性,如果您愿意)。说“名字”、“姓氏”、“城市”和“出生年份”。每个用户还获得“唯一 ID”。

我希望能够通过他们进行搜索。我该如何正确地做到这一点?如何做到这一点?

我的理解(几乎适用于任何键值存储——首先是键,然后是值)

u:123456789 = serialized_json_object

(“u”作为用户密钥的简单前缀,123456789 是“唯一 id”)。

现在,考虑到我希望能够按名字和姓氏进行搜索,我可以保存在:

f:Steve = u:384734807,u:2398248764,u:23276263 f:Alex = u:12324355,u:121324334

所以键是“f”——这是名字的前缀,而“Steve”是实际的名字。对于“u:Steve”,我们将所有属于“Steve”的用户 ID 保存为值。

这使得每次搜索都非常非常容易。按少数字段(属性)查询——比如按名字(即“Steve”)和姓氏(即“l:Anything”)仍然很容易——首先从“f:Steve”获取用户 ID 列表,然后从“l :Anything",找到交叉的用户 ID,然后就可以了。

问题(而且有很多):

  1. 保存、更新、删除用户很痛苦。它必须是原子的和一致的操作。此外,如果我们将价值大小限制在某个值上——那么我们就有(潜在的)麻烦。这里真的没有答案。只压缩用户 ID 列表?不过也不算太酷。

  2. 我们要添加新字段以进行搜索的 id。最终。用“城市”说。我们当然可以这样做 "c:Los Angeles" = ..., "c:Chicago" = ...,但是如果我们一开始就没有预见到所有这些“搜索选择”,那么我们将有能够通过所有现有的用户记录创建一些夜间工作或其他东西并为他们更新那些“c:CITY”......相当大的工作!

  3. 锁定问题。用户“u:123”更新了他的名字“Alex”,用户“u:456”更新了他的名字“Alex”。他们都必须用他们的 id 更新“f:Alex”。这意味着要么我们遇到覆盖问题,要么一个更新将等待另一个更新(如果有很多更新,还有成像?!)。

这样做的最佳方法是什么?请记住,我想按多个字段进行搜索?

PS 请,问题是关于 HBase/Cassandra/NoSQL/Key-Value 存储。请 - 不建议使用 MySQL 和“阅读”SELECT;并担心“以后”的扩展问题。我完全按照我的方式问我的问题是有原因的。:-)

0 投票
4 回答
10108 浏览

python - 是否有用于从 Python 访问 HBase 的好库?

我花了一些时间环顾四周,我只能找到 Jython。这是一个选项,但有没有可以以更蟒蛇式(更简单)的方式使用的东西?

0 投票
3 回答
5313 浏览

hbase - 如何改进 HBase Scanner?

如何配置 HBase 以使扫描程序一次只检索多条记录?或者当数据库包含大量记录时如何改进扫描仪/

0 投票
3 回答
1046 浏览

hbase - HBase 架构帮助

来自 SQL Server 背景,我是 HBase 方面的新手,但该技术看起来非常适合我们正在做的事情,而且成本绝对合适!

我需要维护一个日志条目列表,通常我会在 RDBS 中创建这些条目:

创建表日志(UserID int、SiteID int、Page varchar(50)、Date smalldatetime)

一个用户在这个简单的表中可能有 0 或 1000 行。典型的查询是在一个站点上查找一位用户的所有行或一位用户的所有行。

这如何转化为 HBase 中没有“行键”且相同(SiteID,Page)可能多次出现的“地图”。我的第一个想法是 UserID 是一个行键,但我仍然不太了解“列族”和其他术语,无法理解如何设置表来保存一个 UserID 可以有很多的数据(SiteID、Page ,日期)“行”。

任何方向表示赞赏!

0 投票
1 回答
2235 浏览

hadoop - 在更新 hbase 中的行时遇到问题

我已经运行了示例:SampleUploader、PerformanceEvaluation 和 rowcount,如

hadoop 维基: http ://wiki.apache.org/hadoop/Hbase/MapReduce

我面临的问题是:table1 是我的带有列族列的表

我希望两列以不同的版本出现在同一行中,如果我将名称列更改为 sarah,它会显示更新的行....但我希望旧行和更改后的行都显示为 2不同的版本,以便我可以对数据进行分析........

我犯了什么错误???

谢谢你,萨米

0 投票
2 回答
1037 浏览

ruby - 构建分布式日志聚合器(如 Splunk)的最佳组件堆栈是什么?

我正在尝试找到可以用来构建类似于 Splunk 的最佳组件,以便从计算网格中的大量服务器聚合日志。它也应该分发,因为我每天都有大量的日志,没有一台机器能够存储日志。

我对可以与 Ruby 一起使用并且可以在 Windows 和最新的 Solaris 上工作的东西特别感兴趣(是的,我有一个动物园)。

我将架构视为:

  • 日志爬虫(Ruby 脚本)。
  • 分布式日志存储。
  • 分布式搜索引擎。
  • 轻量级前端。

日志爬虫和分布式搜索引擎没有问题 - 日志将由 Ruby 脚本解析,ElasticSearch 将用于索引日志消息。前端也很容易选择——Sinatra。

我的主要问题是分布式日志存储。我查看了 MongoDB、CouchDB、HDFS、Cassandra 和 HBase。

  • MongoDB 被拒绝,因为它不能在 Solaris 上运行。
  • CouchDB 不支持分片(需要 smartproxy 才能使其工作,但这是我什至不想尝试的东西)。
  • Cassandra 工作得很好,但它只是占用磁盘空间,并且需要每天运行自动平衡以在 Cassandra 节点之间分散负载。
  • HDFS 看起来很有希望,但 FileSystem API 只是 Java,而 JRuby 很痛苦。
  • HBase 看起来是一个最好的解决方案,但部署它和监控只是一场灾难——为了启动 HBase,我需要先启动 HDFS,检查它是否启动没有问题,然后启动 HBase 并检查它,然后启动 REST 服务和也检查一下。

所以我被困住了。有人告诉我 HDFS 或 HBase 是用作日志存储的最佳选择,但 HDFS 只能与 Java 一起顺利运行,而 HBase 只是部署/监控的噩梦。

任何人都可以分享使用我上面描述的组件或完全不同的东西构建类似系统的想法或经验吗?

0 投票
1 回答
527 浏览

hadoop - 你知道 hadoop 的批处理日志处理工具(zohmg 替代品)吗?

由于 zomg 项目似乎已经死了(自 2009 年 11 月以来没有新的提交),我想知道你们中是否有人使用/使用它(成功的结果)。或者,如果您对这个项目的未来有所了解。

如果没有,这个项目有没有其他选择。我正在寻找有助于从(apache)日志中提取数据(使用 Hadoop 作为批处理系统),将其存储到 HBase 中,帮助查询这些数据的工具。

0 投票
1 回答
871 浏览

hadoop - HBase中的邻接表结构

我正在尝试在

  • 该图是一个无向加权图
  • 我想剥离只有两个邻居的所有节点
  • 并更新权重

看看下面的插图:

算法减少图 http://public.kungi.org/graph-reduction.png

该算法应将上图转换为下图。消除节点2,更新边的权重为:w(1-3) = w(1-2)+w(2-3)

因为我有一个非常大的图表,所以我用 MapReduce 来做这个。

我的问题是如何在 HBase 中表示图形。我想过在 HBase 中构建一个邻接列表结构,如下所示:

列族:节点、邻居 1 -> 2、6、7 ...

有没有更好的方法来做到这一点?

0 投票
4 回答
1501 浏览

database - 参照完整性和 HBase

您在 HBase 常见问题解答中阅读的第一个示例模式是多对多关系的学生课程示例。该架构在 Student 表中有一个 Courses 列,在 Course 表中有一个 Students 列。

但我不明白如何在 HBase 中保证这两个对象之间的完整性。如果在更新一个表和另一个表之前发生了崩溃,我们就会遇到问题。

我看到有一个交易工具,但是在每个看跌期权上使用它的成本是多少?还是有其他方法来思考这个问题?

0 投票
1 回答
686 浏览

hadoop - zomg数据导入hbase的问题

我使用了 zohmg 并成功地在 HBase 中创建了映射器、表并测试导入了我的数据(使用 --local 开关)。
但是我在映射到 HBase 后插入数据时遇到问题,这是我得到的错误:

你有什么线索可以帮助我解决它吗?(或者也许这是我对 Dumbo 的问题?)