Table1 という名前の 1 つの hbase テーブルがあり、行 T1,T2,T3,...Tn 、Table2 という名前の新しいテーブルがあります。(T1,T3,T5 ...) のすべてのデータを Table1 から Table2 にコピーするにはどうすればよいですか? 行を 1 つずつ取得してから、新しいテーブルに配置するのは非常に遅いです。
1 に答える
0
CopyTable
mapreduce を実行して 2 つのテーブルをコピーする 1 つのユーティリティであり、はるかに高速です。ただし、選択的コピー (あなたのケースでは奇数行) はサポートしていません。hbase テーブルの一部の timerange のみをサポートしています。そのため、CopyTable
最初に実行してすべてのデータをコピーし、次に 1 つずつ削除するというオプションがあります。別のオプションは、Hive
Hbase テーブルを扱いたくなく、より快適に使用できる場合に使用し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 に答える