public deleteAllRow ( byte tableName, byte row ) : void | ||
tableName | byte | |
row | byte | |
return | void |
public static bool DeleteHbaseData(List <string> tempList, string IPAddress, int Port, string strTableName) { Dictionary <string, string> dis = new Dictionary <string, string>(); try { int count = 0; if (transport == null) { transport = new TSocket(IPAddress, Port); } //实例化一个协议对象 TProtocol tProtocol = new TBinaryProtocol(transport); //实例化一个Hbase的Client对象 var client = new Hbase.Client(tProtocol); //打开连接 transport.Open(); byte[] tableName = strTableName.ToUTF8Bytes(); foreach (var temp in tempList) { byte[] row = temp.ToUTF8Bytes(); Dictionary <byte[], byte[]> encodedAttributes = new Dictionary <byte[], byte[]>(); client.deleteAllRow(tableName, row, encodedAttributes); ++count; if (count % 1000 != 0) { continue; } LoggerManager.Create().InfoWrite(string.Format("已删除指定RowKey{0}条", count)); //LoggerManager.Create().InfoWrite(string.Format("已删除{0}条记录", ++count)); } LoggerManager.Create().InfoWrite(string.Format("Hbases删除指定数据成功,共删除数据{0}条", count)); return(true); } catch (Exception ex) { LoggerManager.Create().ErrorWrite(string.Format("Hbases删除指定数据失败,错误信息:{0}", ex.Message)); return(false); } finally { if (transport != null) { transport.Close(); } } }
/// <summary> /// 删除整行数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button2_Click(object sender, EventArgs e) { string table = "abc"; string key = "aaaK"; TTransport transport = null; try { //192.168.2.111:60010 //实例化Socket连接 transport = new TSocket("192.168.2.111", 9090); //实例化一个协议对象 TProtocol tProtocol = new TBinaryProtocol(transport); //实例化一个Hbase的Client对象 var client = new Hbase.Client(tProtocol); //打开连接 transport.Open(); foreach (var item in System.Linq.Enumerable.Range(1, 10)) { string skey = (key + "_" + item); string scol = ("你好中文:" + item); string svla = (Guid.NewGuid().ToString()); ///////////////删除整行数据 byte[] tableName = table.ToUTF8Bytes(); byte[] row = skey.ToUTF8Bytes(); Dictionary <byte[], byte[]> encodedAttributes = new Dictionary <byte[], byte[]>(); client.deleteAllRow(tableName, row, encodedAttributes); Response.Write(string.Format("删除整行数据:{0},数据{{ RowKey:{1} }}<br/>", table, skey)); } } finally { if (transport != null) { transport.Close(); } } }
protected void 除数据行_Click(object sender, EventArgs e) { lab删除数据.Text = string.Empty; //请在步骤2输入表名 if (string.IsNullOrEmpty(txt表名.Text)) { lab删除数据.Text = "请在步骤2输入表名"; return; } //检查单元格是否已经输入 if (string.IsNullOrEmpty(txt单元格列名.Text)) { lab删除数据.Text = "请输入要删除的列名,如不知道,请点击步骤4获取数据"; return; } //检查单元格是否已经输入 if (string.IsNullOrEmpty(txt数据行key.Text)) { lab删除数据.Text = "请输入要删除的数据行key,如不知道,请点击步骤4获取数据"; return; } string table = txt表名.Text; TTransport transport = null; try { //192.168.2.111:60010 //实例化Socket连接 transport = new TSocket("192.168.2.111", 9090); //实例化一个协议对象 TProtocol tProtocol = new TBinaryProtocol(transport); //实例化一个Hbase的Client对象 var client = new Hbase.Client(tProtocol); //打开连接 transport.Open(); string rowkey = txt数据行key.Text;; string scol = txt单元格列名.Text; byte[] tableName = table.ToUTF8Bytes(); byte[] row = rowkey.ToUTF8Bytes(); Dictionary <byte[], byte[]> encodedAttributes = new Dictionary <byte[], byte[]>(); //删除整行数据 client.deleteAllRow(tableName, row, encodedAttributes); string xxx = string.Format("删除整行数据:{0},数据{{ RowKey:{1},列:{2} }}<br/>", table, rowkey, scol); lab删除数据.Text = xxx + "请点击步骤4获取数据,查看删除状态"; 获取数据_Click(sender, e); } finally { if (transport != null) { transport.Close(); } } }