问题标签 [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 投票
1 回答
374 浏览

replication - 当 HBase 节点发生故障时会发生什么?

HBase很棒,但是...

当一个节点(爆炸/烧毁/被盗/被疯狂的 IT 撕成碎片)时,数据会发生什么?

  • 数据是否丢失?
  • 集群可以自动恢复吗?
  • 我可以在不停机的情况下添加新节点吗?

谢谢你们,马克西姆。

0 投票
1 回答
583 浏览

nosql - 面向列的数据库(HBase、Cassandra)中的顺序行 ID?

在 HBase 中设计行 ID 时,我看到了两条相互矛盾的建议(特别是,但我认为它也适用于 Cassandra。)

  1. 将您经常聚集在一起的键分组以利用数据局部性。(White, Hadoop: The Definitive Guide,我记得在 HBase 站点上看到过,但找不到...)
  2. 分散密钥,以便工作可以分布在多台机器上(Twitter幻灯片 14 中的 Twitter、Pig 和 HBase)

我猜哪个是最佳的可能取决于您的用例,但是有没有人对这两种策略有任何经验?

0 投票
7 回答
14693 浏览

java - 用于 Hbase 的 Java ORM

任何人都知道 HBase 的良好 Java ORM 实现。这个对 Ruby 来说真的很好看

http://www.stanford.edu/~sqs/rhino/doc/

但是找不到Java的。

谢谢。

0 投票
1 回答
549 浏览

java - 每个 HBase 表一个 Reducer

基本上,我需要将数据路由到正确的 Reducer。每个 Reducer 都将成为一个 TableReducer。

我有以下文件

venodor1, user1, xxxx=n venodor1, user1, xxxx=n venodor2, user2, xxxx=n venodor2, user2, xxxx=n

我需要将其插入以下 hbase 表中

表 vendor1: [user1] => {data:xxxx = n} [user2] => {data:xxxx = n}

表 vendor2: [user1] => {data:xxxx = n} [user2] => {data:xxxx = n}

格式为 [ROW_ID] => {[FAMILY]:[COLUMN] = [VALUE]}

  • 每个供应商都有不同的 hbase 表
  • 行需要根据行中的值转到不同的 hbase 表。

有没有办法做到这一点 ?与级联?还有其他解决方法吗?

谢谢,费德里科

0 投票
1 回答
202 浏览

java - 发送 Hbase 批量 Puts 压缩?

有没有办法发送一批压缩的 hbase put。

我将自动刷新设置为 false,并且我使用的 bufferSize 为 2MG。有没有办法压缩puts以便在一批中发送更多puts。

感谢,

0 投票
1 回答
218 浏览

database - 从聚合的博客数据中检索信息,怎么做?

我想知道如何从聚合日志中检索数据?这就是我所拥有的:
- 每天大约 30GB 的未压缩日志数据加载到 HDFS 中(这将很快增长到大约 100GB)
这是我的想法:
- 每天晚上使用 Pig 处理这些数据
- 读取、拆分和自定义日志UDF 检索如下数据:timestamp, url, user_id(可以说,这就是我所需要的)
- 从日志条目并将其加载到 HBase (日志数据将无限存储)

然后,如果我想知道哪些用户在给定的时间范围内看到了特定页面,我可以快速查询 HBase,而无需每次查询都扫描整个日志数据(我想要快速的答案 - 分钟是可以接受的)。并且将同时进行多个查询。

您如何看待这个工作流程?您认为将这些信息加载到 HBase 中有意义吗?还有哪些其他选择,它们与我的解决方案相比如何?我感谢所有评论/问题和答案。先感谢您。

0 投票
2 回答
9110 浏览

parallel-processing - HBase 如何跨 regionservers 分区表?

请告诉我 HBase 如何跨区域服务器分区表。

例如,假设我的行键是从 0 到 10M 的整数,并且我有 10 个区域服务器。
这是否意味着第一个 regionserver 将存储键值为 0 - 10M,第二个 1M - 2M,第三个 2M-3M,...第十个 9M - 10M 的所有行?

我希望我的行键是时间戳,但我认为大多数查询将适用于最新日期,所有查询将仅由一个区域服务器处理,是真的吗?

或者也许这些数据会以不同的方式传播?
或者,也许我可以以某种方式创建比我拥有的区域服务器更多的区域,因此(根据给定的示例)服务器 1 将具有密钥 0 - 0,5M 和 3M - 3,5M,这样我的数据将更平均地分布,是这样吗可能的?


更新

我刚刚发现有选项hbase.hregion.max.filesize,你认为这会解决我的问题吗?

0 投票
3 回答
13030 浏览

java - 类路径中的外部 jar 和 HBase

我在文件中使用外部 jar 时遇到问题。我总是得到:

这个文件在类路径上,我在运行 jar 时设置选项:

调用此命令后,此文件编译成功:

该怎么办?

0 投票
1 回答
2902 浏览

java - 多个或批量获取或获取 HBase Java 客户端?

HBase Java 客户端是否支持多获取(又名批量获取),有点像 memcached 多获取?我已经搜索了文档和互联网至少一个小时,但找不到任何确定的东西。HTable API 提供多个 Delete 和多个 Put,但对 Get 没有任何明显的类似调用。

为了澄清,我试图获取不同的记录,而不是一系列记录。所以 Scan 不是我直观使用的。

我确实在一个线程(可能在 JIRA 上)阅读了一些关于 Scan 为使用过滤器进行批量随机访问提供等效功能的内容。如果有人可以确认这是最佳实践,并且可能会指出我要使用的正确类型的过滤器,那么我会走那条路。

谢谢!

0 投票
1 回答
1573 浏览

java - 如何在同一集群上的 HBase 中创建表的副本?或者,如何在工作状态下操作时使用原始状态来服务请求

有没有一种有效的方法可以在同一个集群中在 HBase 中创建表结构+数据的副本?显然目标表会有不同的名称。到目前为止我发现了什么:

  1. CopyTable 作业,已被描述为用于在不同HBase 集群之间复制数据的工具。我认为它会支持集群内操作,但不知道它是否旨在有效地处理这种情况。

  2. 使用导出+导入作业。这样做听起来像是一种 hack,但由于我是 HBase 的新手,也许这可能是一个真正的解决方案?

你们中的一些人可能会问我为什么要这样做。我的情况是我有数百万个需要访问的对象,如果你愿意的话,它们处于“快照”状态。有一个每天运行的批处理过程会更新其中的许多对象。如果该批处理过程中的任何步骤失败,我需要能够“回滚”到原始状态。不仅如此,在批处理过程中,我还需要能够将请求服务到原始状态。

因此,当前流程是我将原始表复制到工作副本,在更新工作副本时继续使用原始表服务请求。如果批处理成功完成,我会通知我的所有服务使用新表,否则我会丢弃新表。

使用 BDB 效果很好,但我现在处于一个真正大数据的全新世界,所以我可能采取了错误的方法。如果有人对我应该使用的模式有任何建议,他们非常受欢迎。:-)