我有一个名为table1的hbase表,有行t1,t2,t3,…tn,新表名为table2。如何将(t1、t3、t5…)中的所有数据从表1复制到表2?一个接一个地拿到行,然后放到新的表上实在是太慢了。
7z5jn7bk1#
CopyTable 是一个运行mapreduce复制2个表的实用程序,它的速度要快得多。但是,它不支持选择性复制(在您的例子中是奇数行)。它只支持hbase表部分的时间范围。所以,一个选择是 CopyTable 先复制所有数据,然后逐个删除。另一种选择是 Hive ,如果您不想处理hbase表并且对 SQL .copytable示例- hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=sample_new sample_old 这里sample\u old是要复制的表,sample\u new是新表。
CopyTable
Hive
SQL
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=sample_new sample_old
1条答案
按热度按时间7z5jn7bk1#
CopyTable
是一个运行mapreduce复制2个表的实用程序,它的速度要快得多。但是,它不支持选择性复制(在您的例子中是奇数行)。它只支持hbase表部分的时间范围。所以,一个选择是CopyTable
先复制所有数据,然后逐个删除。另一种选择是Hive
,如果您不想处理hbase表并且对SQL
.copytable示例-
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=sample_new sample_old
这里sample\u old是要复制的表,sample\u new是新表。