HBase-테이블 비활성화

HBase 셸을 사용하여 테이블 비활성화

테이블을 삭제하거나 설정을 변경하려면 먼저 disable 명령을 사용하여 테이블을 비활성화해야합니다. enable 명령을 사용하여 다시 활성화 할 수 있습니다.

다음은 테이블을 비활성화하는 구문입니다.

disable ‘emp’

다음은 테이블을 비활성화하는 방법을 보여주는 예입니다.

hbase(main):025:0> disable 'emp'
0 row(s) in 1.2760 seconds

확인

테이블을 비활성화 한 후에도 여전히 존재를 감지 할 수 있습니다. listexists명령. 스캔 할 수 없습니다. 다음과 같은 오류가 발생합니다.

hbase(main):028:0> scan 'emp'
ROW         COLUMN + CELL
ERROR: emp is disabled.

is_disabled

이 명령은 테이블이 비활성화되었는지 확인하는 데 사용됩니다. 구문은 다음과 같습니다.

hbase> is_disabled 'table name'

다음 예제는 emp라는 테이블이 비활성화되었는지 여부를 확인합니다. 비활성화 된 경우 true를 반환하고 그렇지 않은 경우 false를 반환합니다.

hbase(main):031:0> is_disabled 'emp'
true
0 row(s) in 0.0440 seconds

disable_all

이 명령은 주어진 정규식과 일치하는 모든 테이블을 비활성화하는 데 사용됩니다. 구문disable_all 명령은 다음과 같습니다.

hbase> disable_all 'r.*'

HBase에 5 개의 테이블, 즉 raja, rajani, rajendra, rajesh 및 raju가 있다고 가정합니다. 다음 코드는 다음으로 시작하는 모든 테이블을 비활성화합니다.raj.

hbase(main):002:07> disable_all 'raj.*'
raja
rajani
rajendra
rajesh
raju
Disable the above 5 tables (y/n)?
y
5 tables successfully disabled

Java API를 사용하여 테이블 비활성화

테이블이 비활성화되었는지 확인하려면 isTableDisabled() 방법을 사용하고 테이블을 비활성화하려면 disableTable()방법이 사용됩니다. 이 방법은HBaseAdmin수업. 테이블을 비활성화하려면 아래 단계를 따르십시오.

1 단계

인스턴스화 HBaseAdmin 아래와 같이 클래스.

// Creating configuration object
Configuration conf = HBaseConfiguration.create();

// Creating HBaseAdmin object
HBaseAdmin admin = new HBaseAdmin(conf);

2 단계

다음을 사용하여 테이블이 비활성화되었는지 확인하십시오. isTableDisabled() 방법은 아래와 같습니다.

Boolean b = admin.isTableDisabled("emp");

3 단계

테이블이 비활성화되지 않은 경우 아래와 같이 비활성화합니다.

if(!b){
   admin.disableTable("emp");
   System.out.println("Table disabled");
}

아래는 테이블이 비활성화되었는지 여부를 확인하는 완전한 프로그램입니다. 그렇지 않은 경우 비활성화하는 방법.

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.client.HBaseAdmin;

public class DisableTable{

   public static void main(String args[]) throws MasterNotRunningException, IOException{

      // Instantiating configuration class
      Configuration conf = HBaseConfiguration.create();
 
      // Instantiating HBaseAdmin class
      HBaseAdmin admin = new HBaseAdmin(conf);

      // Verifying weather the table is disabled
      Boolean bool = admin.isTableDisabled("emp");
      System.out.println(bool);

      // Disabling the table using HBaseAdmin object
      if(!bool){
         admin.disableTable("emp");
         System.out.println("Table disabled");
      }
   }
}

위의 프로그램을 아래와 같이 컴파일하고 실행합니다.

$javac DisableTable.java
$java DsiableTable

다음은 출력이어야합니다.

false
Table disabled