deleteAllRow() public method

public deleteAllRow ( byte tableName, byte row ) : void
tableName byte
row byte
return void
示例#1
0
        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();
                }
            }
        }
示例#2
0
    /// <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();
            }
        }
    }