HBase - Tablo Bırak
HBase Shell kullanarak Tablo düşürme
Kullanmak dropkomutu, bir tabloyu silebilirsiniz. Bir masayı düşürmeden önce onu devre dışı bırakmalısınız.
hbase(main):018:0> disable 'emp'
0 row(s) in 1.4580 seconds
hbase(main):019:0> drop 'emp'
0 row(s) in 0.3060 seconds
Var komutunu kullanarak tablonun silinip silinmediğini doğrulayın.
hbase(main):020:07gt; exists 'emp'
Table emp does not exist
0 row(s) in 0.0730 seconds
drop_all
Bu komut, komutta verilen "regex" ile eşleşen tabloları kaldırmak için kullanılır. Sözdizimi aşağıdaki gibidir:
hbase> drop_all ‘t.*’
Note: Bir masayı düşürmeden önce onu devre dışı bırakmalısınız.
Misal
Raju, rajani, rajendra, rajesh ve raju adlı tablolar olduğunu varsayalım.
hbase(main):017:0> list
TABLE
raja
rajani
rajendra
rajesh
raju
9 row(s) in 0.0270 seconds
Bütün bu tablolar harflerle başlıyor raj. Öncelikle, tüm bu tabloları kullanarak devre dışı bırakalım.disable_all komutu aşağıda gösterildiği gibi.
hbase(main):002:0> disable_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Disable the above 5 tables (y/n)?
y
5 tables successfully disabled
Artık hepsini silebilirsiniz. drop_all komut aşağıda verildiği gibi.
hbase(main):018:0> drop_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Drop the above 5 tables (y/n)?
y
5 tables successfully dropped
Java API Kullanarak Tablo Silme
Kullanarak bir tabloyu silebilirsiniz. deleteTable() yöntem HBaseAdminsınıf. Java API kullanarak bir tabloyu silmek için aşağıda verilen adımları izleyin.
Aşama 1
HBaseAdmin sınıfını örnekleyin.
// creating a configuration object
Configuration conf = HBaseConfiguration.create();
// Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);
Adım 2
Tabloyu kullanarak devre dışı bırakın disableTable() yöntemi HBaseAdmin sınıf.
admin.disableTable("emp1");
Aşama 3
Şimdi şunu kullanarak tabloyu silin deleteTable() yöntemi HBaseAdmin sınıf.
admin.deleteTable("emp12");
Aşağıda HBase'de bir tabloyu silmek için eksiksiz bir java programı verilmiştir.
import java.io.IOException;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.HBaseAdmin;
public class DeleteTable {
public static void main(String[] args) throws IOException {
// Instantiating configuration class
Configuration conf = HBaseConfiguration.create();
// Instantiating HBaseAdmin class
HBaseAdmin admin = new HBaseAdmin(conf);
// disabling table named emp
admin.disableTable("emp12");
// Deleting emp
admin.deleteTable("emp12");
System.out.println("Table deleted");
}
}
Yukarıdaki programı aşağıda gösterildiği gibi derleyin ve çalıştırın.
$javac DeleteTable.java
$java DeleteTable
Aşağıdakiler çıktı olmalıdır:
Table deleted