J'ai une table Hbase X et je veux en créer une copie exacte et la nommer Y. Quelqu'un pourrait-il me dire comment c'est possible?
Merci
En supposant que vous souhaitez copier la table sur le même cluster, vous pouvez utiliser des instantanés HBase dans le hbase Shell
vous pouvez
snapshot 'sourceTable', 'sourceTable-snapshot'
clone_snapshot 'sourceTable-snapshot', 'newTable'
La commande CopyTable est très pratique pour répliquer les tables HBase. Utilisez-le de la manière suivante:
hbase org.Apache.hadoop.hbase.mapreduce.CopyTable --new.name=Y X;
utiliser hbase Shell
1. assurez-vous d'intégrer un instantané dans hbase-site.xml
<property>
<name>hbase.snapshot.enabled</name>
<value>true</value>
</property>
2. hbase> instantané "x", "instantané_x"
3. hbase> clone_snapshot 'snapshot_x', 'another_x'
Dans hbase Shell, vérifiez la version;
hbase(main):001:0> version
0.90.4, r1150278, Sun Jul 24 15:53:29 PDT 2011
si la version antérieure de 0.94.6, vous devez utiliser des travaux mapredeuce. les instantanés sont disponibles depuis la 0.94.6 si elle est au-dessus, vous pouvez utiliser réponse toby941 ou vous pouvez utiliser l'un de ceux-ci
UNE)
./hbase org.Apache.hadoop.hbase.mapreduce.CopyTable
Usage: CopyTable [--rs.class=CLASS] [--rs.impl=IMPL] [--starttime=X] [--endtime=Y] [--new.name=NEW] [--peer.adr=ADR] <tablename>
B-1)
./hbase org.Apache.hadoop.hbase.mapreduce.Export
Usage: Export [-D <property=value>]* <tablename> <outputdir> [<versions> [<starttime> [<endtime>]]]
B-2) puis importez avec le nom que vous voulez
./hbase org.Apache.hadoop.hbase.mapreduce.Import
Usage: Import <tablename> <inputdir>
La méthodologie des instantanés peut ne pas fonctionner si vous utilisez une ancienne version de hbase https://issues.Apache.org/jira/browse/HBASE-8742 . Dans ce cas, vous devrez peut-être copier manuellement le schéma hbase, puis appliquer un instantané ou mieux pour mettre à niveau vers la version fixe.
cela fonctionnera ..
hbase org.Apache.hadoop.hbase.mapreduce.Export tableA /hbase_export/tableA
hbase org.Apache.hadoop.hbase.mapreduce.Import /hbase_export/tableA tableAcopy