Wie lösche ich eine Tabelle in hbase?

7

Ich möchte eine Tabelle in hbase leeren ... zB: user . Gibt es einen Befehl oder eine Funktion, um die Tabelle zu leeren, ohne sie zu löschen ...

Meine Tabellenstruktur ist:

%Vor%

Kann mir jemand helfen?

    
Micku 28.03.2012, 06:40
quelle

7 Antworten

-2

Es gibt keinen einzigen Befehl, um die Hbase-Tabelle zu löschen, aber Sie können zwei Problemumgehungen verwenden: Deaktivieren, Löschen, Tabelle erstellen oder alle Datensätze durchsuchen und alle löschen.

Die Deaktivierung, das Löschen und das erneute Erstellen der Tabelle dauert etwa 4 Sekunden.

%Vor%

Wenn in der Tabelle nicht viele Daten vorhanden sind - scannen Sie alle Zeilen und löschen Sie sie viel schneller.

%Vor%

In diesem Fall werden die Daten nicht physisch gelöscht, sondern tatsächlich als "gelöscht" markiert und verbleiben in der Tabelle bis zum nächsten großen Komprimierungspaket.

    
starl1ng 29.03.2012, 13:32
quelle
43

Wenn Sie dies in der HBase-Shell ausführen:

%Vor%

Dann wird HBase diese Operationen für 'yourTableName' ausführen:

%Vor%     
Alexis Gamarra 31.07.2013 22:25
quelle
5

Eine weitere effiziente Option besteht darin, die Tabelle tatsächlich zu löschen und dann eine andere mit den gleichen Einstellungen wie die vorherige zu rekonstruieren.

Ich weiß nicht, wie man das in PHP macht, aber ich weiß, wie man es in Java macht. Die entsprechenden Aktionen in PHP sollten ähnlich sein, Sie müssen nur überprüfen, wie die API aussieht.

In Java mit HBase 0.90.4:

%Vor%     
André Staltz 28.03.2012 12:50
quelle
3

Mit hbase shell , truncate <table_name> wird die Aufgabe erledigt.

Der Schnappschuss des Befehls truncate 'customer_details' ist unten abgebildet:

Dabei ist customer_details der Tabellenname

    
Farooque 10.08.2016 07:45
quelle
1

HBase-Sparsamkeits-API (was php verwendet) bietet keinen truncate-Befehl nur deleteTable und createTable-Funktionalität (was ist das diff aus Ihrer Sicht?)

Andernfalls müssen Sie scannen, um alle Schlüssel und deleteAllRow für jeden Schlüssel zu bekommen - was keine sehr effiziente Option ist

    
Arnon Rotem-Gal-Oz 28.03.2012 10:36
quelle
0
Der Befehl

trunkate in der hbase-Shell erledigt die Aufgabe für Sie:

Vor dem Abschneiden:

Nach dem Abschneiden:

    
Heapify 28.05.2017 22:55
quelle
-4

Vielleicht mit einem dieser beiden Befehle:

%Vor%

Oder

%Vor%

Grüße!

    
Lobo 28.03.2012 07:36
quelle

Tags und Links