HBase-데이터 삭제
테이블에서 특정 셀 삭제
사용 delete명령을 사용하면 테이블의 특정 셀을 삭제할 수 있습니다. 구문delete 명령은 다음과 같습니다.
delete ‘<table name>’, ‘<row>’, ‘<column name >’, ‘<time stamp>’
예
다음은 특정 셀을 삭제하는 예입니다. 여기에서 급여를 삭제합니다.
hbase(main):006:0> delete 'emp', '1', 'personal data:city',
1417521848375
0 row(s) in 0.0060 seconds
테이블의 모든 셀 삭제
"deleteall"명령을 사용하면 한 행의 모든 셀을 삭제할 수 있습니다. 아래는 deleteall 명령의 구문입니다.
deleteall ‘<table name>’, ‘<row>’,
예
다음은 emp 테이블의 row1의 모든 셀을 삭제하는“deleteall”명령의 예입니다.
hbase(main):007:0> deleteall 'emp','1'
0 row(s) in 0.0240 seconds
다음을 사용하여 테이블을 확인하십시오. scan명령. 테이블 삭제 후 테이블 스냅 샷은 아래와 같습니다.
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
Java API를 사용하여 데이터 삭제
다음을 사용하여 HBase 테이블에서 데이터를 삭제할 수 있습니다. delete() 의 방법 HTable수업. 테이블에서 데이터를 삭제하려면 아래 단계를 따르십시오.
1 단계 : 구성 클래스 인스턴스화
Configuration클래스는 HBase 구성 파일을 객체에 추가합니다. 다음을 사용하여 구성 개체를 만들 수 있습니다.create() 의 방법 HbaseConfiguration 아래와 같이 클래스.
Configuration conf = HbaseConfiguration.create();
2 단계 : HTable 클래스 인스턴스화
라는 수업이 있습니다. HTable, HBase의 Table 구현입니다. 이 클래스는 단일 HBase 테이블과 통신하는 데 사용됩니다. 이 클래스를 인스턴스화하는 동안 구성 개체와 테이블 이름을 매개 변수로 받아들입니다. 아래와 같이 HTable 클래스를 인스턴스화 할 수 있습니다.
HTable hTable = new HTable(conf, tableName);
3 단계 : 삭제 클래스 인스턴스화
인스턴스화 Delete삭제 될 행의 rowid를 바이트 배열 형식으로 전달하여 클래스. 타임 스탬프와 Rowlock을이 생성자에 전달할 수도 있습니다.
Delete delete = new Delete(toBytes("row1"));
4 단계 : 삭제할 데이터 선택
삭제 방법을 사용하여 데이터를 삭제할 수 있습니다. Delete수업. 이 클래스에는 다양한 삭제 방법이 있습니다. 이러한 방법을 사용하여 삭제할 열 또는 열 패밀리를 선택합니다. Delete 클래스 메서드의 사용법을 보여주는 다음 예제를 살펴보십시오.
delete.deleteColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
delete.deleteFamily(Bytes.toBytes("professional"));
5 단계 : 데이터 삭제
전달하여 선택한 데이터를 삭제합니다. delete 인스턴스 delete() 의 방법 HTable 아래와 같이 클래스.
table.delete(delete);
6 단계 : HTableInstance 닫기
데이터를 삭제 한 후 HTable 예.
table.close();
아래는 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.....");
}
}
위의 프로그램을 아래와 같이 컴파일하고 실행합니다.
$javac Deletedata.java
$java DeleteData
다음은 출력이어야합니다.
data deleted