HBase-테이블 비활성화
HBase 셸을 사용하여 테이블 비활성화
테이블을 삭제하거나 설정을 변경하려면 먼저 disable 명령을 사용하여 테이블을 비활성화해야합니다. enable 명령을 사용하여 다시 활성화 할 수 있습니다.
다음은 테이블을 비활성화하는 구문입니다.
disable ‘emp’
예
다음은 테이블을 비활성화하는 방법을 보여주는 예입니다.
hbase(main):025:0> disable 'emp'
0 row(s) in 1.2760 seconds
확인
테이블을 비활성화 한 후에도 여전히 존재를 감지 할 수 있습니다. list 과 exists명령. 스캔 할 수 없습니다. 다음과 같은 오류가 발생합니다.
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