问题标签 [row-key]

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 投票
0 回答
101 浏览

import - 扩展 HBase Put 以避免 add 方法中的原始 Row Check

HBase 需要从一个集群中导出数据并导入到另一个集群中,对 row key 稍作修改

正如我在上面的帖子中提到的,需要从一个集群中导出表的 HBase 数据并通过根据我们的匹配模式更改行键将其导入另一个集群

在“org.apache.hadoop.hbase.mapreduce.Import”中,我们可以选择使用参数“HBASE_IMPORTER_RENAME_CFS”更改 ColumnFamily

我稍微修改了导入代码以支持行键更改。我的代码在 Pastebin https://pastebin.com/ticgeBb0中可用

使用以下代码更改了行键。

执行导入

行键已成功更改。但是在将 Cell 放入 HBase 表时,使用“ org.apache.hadoop.hbase.client.Put.add(Cell) ”我们检查为

kv 的行与 put 相同,因为我们正在更改行键

在这里它失败了。

然后我评论了 Put 类中的检查并更新了 hbase-client.jar。我也尝试编写扩展 Put 的 HBasePut

在 Mapreduce 中,任务总是失败并出现以下异常

我不知道任务中提到了旧的 Put 类。

有人可以帮忙解决这个问题。

0 投票
0 回答
16 浏览

hbase - 获取 HBase 行键/索引大小(以字节为单位)

根据这篇文章此处的 Google BigTable 参考,我认为行键的最大大小为 4 KB。不过,我的问题是,有没有办法以编程方式或通过 HBase shell 获取行键大小?例如,假设我有以下两个行键 (i) ' machine001' 和 (ii) ' imgID1'。如何获取用于存储这些行键的字节?