web-dev-qa-db-fra.com

Comment copier une table hbase existante

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

22
user1586205

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'
33
Arnon Rotem-Gal-Oz

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;
6
Pratik Patil

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'

3
toby941

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>
1
Joker

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.

0
AkD

Selon les documentations HBase ici ( 1 , 2 ) sont les options.

0
Praveen Sripati

cela fonctionnera ..

hbase org.Apache.hadoop.hbase.mapreduce.Export tableA /hbase_export/tableA

hbase org.Apache.hadoop.hbase.mapreduce.Import /hbase_export/tableA tableAcopy
0
Kamal D