删除单行数据
删除一行数据很简单,我们来看个示例:
Table table = conn.getTable(tableName); //获取表
byte[] row = Bytes.toBytes("row1");//定义行
Delete delete = new Delete(row);//创建delete对象
table.delete(delete);//删除
这段代码就可以删除行键为row1
的行。
删除多行数据
如何删除多行数据呢?
相信你已经猜到了,既然get()
方法有重载方法,那应该delete()
方法也有,确实:
Table table = conn.getTable(tableName);
List<Delete> deletes = new ArrayList<>();
for(int i = 1 ; i < 5;i++){
byte[] row = Bytes.toBytes("row" + i);
Delete delete = new Delete(row);
deletes.add(delete);
}
table.delete(deletes);
这样就可以删除多行数据啦。
编程要求文章来源:https://www.toymoban.com/news/detail-743718.html
还等啥,亲自试一试吧,使用本关知识,在右侧编辑器begin-end
处补充代码,现有表step2_table
,请编写程序删除该表行键为row1
至row5
和row7
至row10
的数据。文章来源地址https://www.toymoban.com/news/detail-743718.html
package step2;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableDescriptors;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
public class Task {
public void batchDelete()throws Exception{
/********* Begin *********/
Configuration conf = HBaseConfiguration.create();
Connection conn = ConnectionFactory.createConnection(conf);
TableName tableName = TableName.valueOf("step2_table");
Table table = conn.getTable(tableName);
List<String> rows1 = new ArrayList();
for(int i = 1; i<6;i++){
String row = "row" + i;
rows1.add(row);
}
delete(table,rows1);
List<String> rows2 = new ArrayList<>();
for(int i = 7;i<11;i++){
String row = "row" + i;
rows2.add(row);
}
delete(table,rows2);
/********* End *********/
}
public void delete(Table table,List<String> rows)throws IOException{
List<Delete> deletes = new ArrayList<>();
for(String str : rows){
byte[] row = Bytes.toBytes(str);
Delete delete = new Delete(row);
deletes.add(delete);
}
table.delete(deletes);
}
}
到了这里,关于HBase Java API 开发:批量操作 第2关:批量删除数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!