public static void Append <T>(string configname, string table, string rowid, string family, T obj, Func <T, IEnumerable <KeyValuePair <string, object> > > fun) { //实例化Socket连接 //transport = new TSocket("2.5.172.38", 30001); var transport = new TSocket(configname); //实例化一个协议对象 TProtocol tProtocol = new TBinaryProtocol(transport); byte[] tablenamebytes = Encoding.UTF8.GetBytes(table); byte[] rowidbytes = Encoding.UTF8.GetBytes(rowid); byte[] familybytes = Encoding.UTF8.GetBytes(family); using (var client = new HBase.Thrift2.THBaseService.Client(tProtocol)) { transport.Open(); try { TAppend append = new TAppend(); append.Row = rowidbytes; append.Columns = new List <TColumnValue>(); foreach (var kv in fun(obj)) { append.Columns.Add(new TColumnValue(familybytes, Encoding.UTF8.GetBytes(kv.Key), Serializer.TSerializer.GetBytes(kv.Value))); } client.append(tablenamebytes, append); } finally { transport.Close(); } } }
public List <TCell> append(TAppend append) { return(_connection.append(append)); }
public void send_append(TAppend append) #endif { oprot_.WriteMessageBegin(new TMessage("append", TMessageType.Call, seqid_)); append_args args = new append_args(); args.Append = append; args.Write(oprot_); oprot_.WriteMessageEnd(); #if SILVERLIGHT return oprot_.Transport.BeginFlush(callback, state); #else oprot_.Transport.Flush(); #endif }
public IAsyncResult send_append(AsyncCallback callback, object state, TAppend append)
/// <summary> /// Appends values to one or more columns within a single row. /// /// @return values of columns after the append operation. /// </summary> /// <param name="append">The single append operation to apply</param> public List<TCell> append(TAppend append) { #if !SILVERLIGHT send_append(append); return recv_append(); #else var asyncResult = Begin_append(null, null, append); return End_append(asyncResult); #endif }
public IAsyncResult Begin_append(AsyncCallback callback, object state, TAppend append) { return send_append(callback, state, append); }
public void Read (TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.Struct) { Append = new TAppend(); Append.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }