Habse API操作(删除操作)

/**
	 * 根据rowkey删除整行的所有列族、所有行、所有版本
	 * 
	 */
	public static void deleterow(String tablename, String rowkey) throws IOException {
		Connection conn = ConnectionFactory.createConnection(cfg);
		Table table = conn.getTable(TableName.valueOf(tablename));
		Delete delete = new Delete(Bytes.toBytes(rowkey));
 
		table.delete(delete);
		table.close();
 
		System.out.println("row" + rowkey + " is deleted");
	}
 
	/**
	 * 删除某个row的指定列
	 * 
	 */
	public static void deletecol(String tablename, String rowkey, String columnfamily, String column)
			throws IOException {
		Connection conn = ConnectionFactory.createConnection(cfg);
		Table table = conn.getTable(TableName.valueOf(tablename));
 
		Delete delete = new Delete(Bytes.toBytes(rowkey));
		delete.deleteColumn(Bytes.toBytes(columnfamily), Bytes.toBytes(column));
 
		table.delete(delete);
		table.close();
 
		System.out.println("row" + rowkey + " is deleted");
	}
 
	/**
	 * 删除指定列族中所有列的时间戳等于指定时间戳的版本数据
	 * 
	 */
	public static void deleteversion(String tablename, String rowkey, String columnfamily, Long timestamp)
			throws IOException {
		Connection conn = ConnectionFactory.createConnection(cfg);
		Table table = conn.getTable(TableName.valueOf(tablename));
 
		Delete delete = new Delete(Bytes.toBytes(rowkey));
		delete.deleteFamilyVersion(Bytes.toBytes(columnfamily), timestamp);
 
		table.delete(delete);
		table.close();
 
		System.out.println("row" + rowkey + " is deleted");
	}
 
	/**
	 * 删除指定列族,注意要先disable,修改完再enable表
	 * 
	 * 
	 */
	public static void deletefamily(String tablename, String columnfamily) throws IOException {
		Connection conn = ConnectionFactory.createConnection(cfg);
		Admin admin = conn.getAdmin();
		admin.disableTable(TableName.valueOf(tablename));
		HTableDescriptor table = admin.getTableDescriptor(TableName.valueOf(tablename));
 
		table.removeFamily(Bytes.toBytes(columnfamily));
 
		admin.modifyTable(TableName.valueOf(tablename), table);
		admin.enableTable(TableName.valueOf(tablename));
		System.out.println("columnfamily " + columnfamily + " is deleted");
		admin.close();
	}
 
	/**
	 * drop表,注意要先disable表,否则会报错
	 * 
	 */
	public static void droptable(String tablename) throws IOException {
		Connection conn = ConnectionFactory.createConnection(cfg);
		Admin admin = conn.getAdmin();
		admin.disableTable(TableName.valueOf(tablename));
		admin.deleteTable(TableName.valueOf(tablename));
		System.out.println("Table " + tablename + " is droped");
	}

发布了133 篇原创文章 · 获赞 53 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43599377/article/details/103589744