0

Table1 という名前の 1 つの hbase テーブルがあり、行 T1,T2,T3,...Tn 、Table2 という名前の新しいテーブルがあります。(T1,T3,T5 ...) のすべてのデータを Table1 から Table2 にコピーするにはどうすればよいですか? 行を 1 つずつ取得してから、新しいテーブルに配置するのは非常に遅いです。

4

1 に答える 1

0

CopyTablemapreduce を実行して 2 つのテーブルをコピーする 1 つのユーティリティであり、はるかに高速です。ただし、選択的コピー (あなたのケースでは奇数行) はサポートしていません。hbase テーブルの一部の timerange のみをサポートしています。そのため、CopyTable最初に実行してすべてのデータをコピーし、次に 1 つずつ削除するというオプションがあります。別のオプションは、HiveHbase テーブルを扱いたくなく、より快適に使用できる場合に使用しSQLます.
CopyTable の例 -
hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=sample_new sample_old
ここで、sample_old はコピーされるテーブルで、sample_new は新しいテーブルです。

于 2014-03-15T21:22:20.800 に答える