HBase - Usuń dane
Usuwanie określonej komórki w tabeli
Używając deletepolecenie, możesz usunąć określoną komórkę w tabeli. Składniadelete polecenie jest następujące:
delete ‘<table name>’, ‘<row>’, ‘<column name >’, ‘<time stamp>’
Przykład
Oto przykład usunięcia określonej komórki. Tutaj usuwamy wynagrodzenie.
hbase(main):006:0> delete 'emp', '1', 'personal data:city',
1417521848375
0 row(s) in 0.0060 seconds
Usuwanie wszystkich komórek w tabeli
Za pomocą polecenia „usuń wszystko” możesz usunąć wszystkie komórki w wierszu. Poniżej podano składnię polecenia deleteall.
deleteall ‘<table name>’, ‘<row>’,
Przykład
Oto przykład polecenia „deleteall”, w którym usuwamy wszystkie komórki wiersza 1 tabeli emp.
hbase(main):007:0> deleteall 'emp','1'
0 row(s) in 0.0240 seconds
Sprawdź tabelę za pomocą scanKomenda. Migawka tabeli po usunięciu tabeli znajduje się poniżej.
hbase(main):022:0> scan 'emp'
ROW COLUMN + CELL
2 column = personal data:city, timestamp = 1417524574905, value = chennai
2 column = personal data:name, timestamp = 1417524556125, value = ravi
2 column = professional data:designation, timestamp = 1417524204, value = sr:engg
2 column = professional data:salary, timestamp = 1417524604221, value = 30000
3 column = personal data:city, timestamp = 1417524681780, value = delhi
3 column = personal data:name, timestamp = 1417524672067, value = rajesh
3 column = professional data:designation, timestamp = 1417523187, value = jr:engg
3 column = professional data:salary, timestamp = 1417524702514, value = 25000
Usuwanie danych za pomocą Java API
Możesz usunąć dane z tabeli HBase przy użyciu delete() metoda HTableklasa. Wykonaj czynności podane poniżej, aby usunąć dane z tabeli.
Krok 1: Utwórz wystąpienie klasy konfiguracji
Configurationklasa dodaje pliki konfiguracyjne HBase do swojego obiektu. Możesz utworzyć obiekt konfiguracyjny za pomocącreate() metoda HbaseConfiguration klasa, jak pokazano poniżej.
Configuration conf = HbaseConfiguration.create();
Krok 2: Utwórz wystąpienie klasy HTable
Masz klasę o nazwie HTable, implementacja tabeli w HBase. Ta klasa służy do komunikacji z pojedynczą tabelą HBase. Podczas tworzenia instancji tej klasy przyjmuje obiekt konfiguracyjny i nazwę tabeli jako parametry. Możesz utworzyć wystąpienie klasy HTable, jak pokazano poniżej.
HTable hTable = new HTable(conf, tableName);
Krok 3: Utwórz wystąpienie klasy Usuń
Utwórz wystąpienie Deleteklasę, przekazując identyfikator wiersza wiersza, który ma zostać usunięty, w formacie tablicy bajtów. Możesz również przekazać temu konstruktorowi znacznik czasu i Rowlock.
Delete delete = new Delete(toBytes("row1"));
Krok 4: Wybierz dane do usunięcia
Możesz usunąć dane za pomocą metod usuwania pliku Deleteklasa. Ta klasa ma różne metody usuwania. Wybierz kolumny lub rodziny kolumn do usunięcia za pomocą tych metod. Spójrz na poniższe przykłady, które pokazują użycie metod klasy Delete.
delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
delete.deleteFamily(Bytes.toBytes("professional"));
Krok 5: Usuń dane
Usuń wybrane dane, przekazując plik delete wystąpienie do delete() metoda HTable klasa, jak pokazano poniżej.
table.delete(delete);
Krok 6: Zamknij HTableInstance
Po usunięciu danych zamknij plik HTable Instancja.
table.close();
Poniżej podano kompletny program do usuwania danych z tabeli HBase.
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.util.Bytes;
public class DeleteData {
public static void main(String[] args) throws IOException {
// Instantiating Configuration class
Configuration conf = HBaseConfiguration.create();
// Instantiating HTable class
HTable table = new HTable(conf, "employee");
// Instantiating Delete class
Delete delete = new Delete(Bytes.toBytes("row1"));
delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
delete.deleteFamily(Bytes.toBytes("professional"));
// deleting the data
table.delete(delete);
// closing the HTable object
table.close();
System.out.println("data deleted.....");
}
}
Skompiluj i wykonaj powyższy program, jak pokazano poniżej.
$javac Deletedata.java
$java DeleteData
Wynik powinien być następujący:
data deleted