2016-07-20 14 views
0

Ich möchte eine reduzierte Version einer HBase-Tabelle über Hbase-Shell erstellen. Zum Beispiel: HBase Table 'test' ist bereits in HBase mit folgenden Informationen:HBase Shell - Erstellen Sie eine reduzierte Tabelle aus vorhandenen Hbase-Tabelle

TableName: 'test' 
ColumnFamily: 'f' 
Columns: 'f:col1', 'f:col2', 'f:col3', 'f:col4' 

Ich möchte eine andere Tabelle in HBase schaffen 'test_reduced', die

TableName: 'test_reduced' 
ColumnFamily: 'f' 
Columns: 'f:col1', 'f:col3' 

aussieht Wie können wir wie dieses Mach das über HBase Shell? Ich weiß, wie man die Tabelle kopiert, indem ich snapshot befehle, also suche ich hauptsächlich, um Spaltennamen in HBase Tabelle fallenzulassen.

Antwort

0

kann es nicht tun. Sie müssen die Hbase-Client-API verwenden.

1- lesen Sie die Tabelle in.

2- nur "put" Spalten Sie in Ihrer neuen Tabelle wollen.

Cloudera kam in der Nähe von Benutzern "Partial HBase Tischkopien" mit "CopyTable" -Funktion ausführen, aber das erlaubt Ihnen, column_family Namen nur ändern ... (Ich bin nicht sicher, dass Sie Cloudera verwenden), aber sogar das ist nicht, was Sie suchen.

für Ihre Ref: http://blog.cloudera.com/blog/2012/06/online-hbase-backups-with-copytable-2/