问题标签 [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.
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 类。
有人可以帮忙解决这个问题。