首页 > 解决方案 > HBase 需要从一个集群中导出数据并导入到另一个集群中,对 row key 稍作修改

问题描述

我正在尝试从 HBase 表“mytable”中导出数据,该表的行键以“abc”开头。

scan 'mytable', {ROWPREFIXFILTER => 'abc'}

以上导出的数据需要通过将rowkey前缀从'abc'改为'def'来导入到另一个集群中

旧数据:

hbase(main):002:0> scan 'mytable', {ROWPREFIXFILTER => 'abc'}
ROW               COLUMN+CELL                                                                                                                                
abc-6535523   column=track:aid, timestamp=1339121507633, value=some stream/pojos

新数据:(在另一个集群中)

hbase(main):002:0> get 'mytable', 'def-6535523'
    ROW               COLUMN+CELL                                                                                                                                
    def-6535523   column=track:aid, timestamp=1339121507633, value=some stream/pojos

只有部分行键需要修改。其他数据需要相同。

尝试使用bin/hbase org.apache.hadoop.hbase.mapreduce.Export table_name file:///tmp/db_dump/

在导出中没有规定指定起始行和结束行。

但不知道如何使用更改的 rowkey 导入它。

HBase/Hadoop 中是否有任何内置功能可以实现

请帮忙。

标签: hadoopimportexporthbase

解决方案


推荐阅读