//private static string tableName = "mainpageview"; /// <summary> /// 用户的来访日志 /// /// create 'mpv','m' /// </summary> /// <param name="userid"></param> /// <param name="toid"></param> /// <param name="dt"></param> public static void MainPageview(string userid, string toid, DateTime dt) { if (!Config.IsUseHbase) { return; } string tableName = "mpv"; using (var hclient = HBaseClientPool.GetHclient()) { string desctime = H.Comm.TimeUtility.DescTimeStamp(dt).ToString(); string rowkey = H.Comm.StringUtility.FixedLenString(userid, 20) + H.Comm.StringUtility.FixedLenString(toid, 20) + desctime; hclient.Client.mutateRow(tableName.ToBytes(), rowkey.ToBytes(), new List <Apache.Hadoop.Hbase.Mutation> { new Apache.Hadoop.Hbase.Mutation { Column = "m:uid".ToBytes(), Value = userid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "m:tid".ToBytes(), Value = toid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "m:dt".ToBytes(), Value = dt.ToString().ToBytes() } }); } }
/// <summary> /// 用户给某个游戏评价多少分 /// </summary> /// <param name="userid"></param> /// <param name="gameid"></param> /// <param name="point"></param> public static void Games(string userid, string gameid, double point, DateTime ratingtime) { string tableName = "gameratings"; using (var hclient = HBaseClientPool.GetHclient()) { string strtime = H.Comm.TimeUtility.DescTimeStamp(ratingtime).ToString(); string row = H.Comm.StringUtility.FixedLenString(userid, 20) + strtime; hclient.Client.mutateRow(tableName.ToBytes(), row.ToBytes(), new List <Apache.Hadoop.Hbase.Mutation> { new Apache.Hadoop.Hbase.Mutation { Column = "u:uid".ToBytes(), Value = userid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "u:gid".ToBytes(), Value = gameid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "u:lt".ToBytes(), Value = ratingtime.ToString().ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "u:pnt".ToBytes(), Value = point.ToString().ToBytes() } }); } }
public static void UserContent(string uid, string content, DateTime dt) { if (!Config.IsUseHbase) { return; } string tableName = "usercontent"; using (var hclient = HBaseClientPool.GetHclient()) { string strtime = H.Comm.TimeUtility.DescTimeStamp(dt).ToString(); string row = H.Comm.StringUtility.FixedLenString(uid, 20) + strtime; hclient.Client.mutateRow(tableName.ToBytes(), row.ToBytes(), new List <Apache.Hadoop.Hbase.Mutation> { new Apache.Hadoop.Hbase.Mutation { Column = "c:uid".ToBytes(), Value = uid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "c:content".ToBytes(), Value = content.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "c:dt".ToBytes(), Value = dt.ToString().ToBytes() } }); } }
/// <summary> /// 将日志插入 hbase /// row {u:uid,u:ip,u:lt,u:r} /// /// hbase script: create 'loginlog','u' /// </summary> public static void AddLog(string userid, string ip, DateTime logintime, bool result) { if (!Config.IsUseHbase) { return; } using (var hclient = HBaseClientPool.GetHclient()) { string strtime = H.Comm.TimeUtility.DescTimeStamp(logintime).ToString(); string row = H.Comm.StringUtility.FixedLenString(userid, 20) + strtime; hclient.Client.mutateRow(tableName.ToBytes(), row.ToBytes(), new List <Apache.Hadoop.Hbase.Mutation> { new Apache.Hadoop.Hbase.Mutation { Column = "u:uid".ToBytes(), Value = userid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "u:ip".ToBytes(), Value = ip.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "u:lt".ToBytes(), Value = logintime.ToString().ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "u:r".ToBytes(), Value = Convert.ToInt16(result).ToString().ToBytes() } }); } }
/// <summary> /// 用户的行为跟踪 /// </summary> /// <param name="userid"></param> /// <param name="url"></param> /// <param name="dt"></param> /// <param name="toid"></param> public static void TrackeUserAction(string userid, string url, string referer, DateTime dt, string toid = "") { string tableName = "tracku"; using (var hclient = HBaseClientPool.GetHclient()) { string desctime = H.Comm.TimeUtility.DescTimeStamp(dt).ToString(); string rowkey = H.Comm.StringUtility.FixedLenString(userid, 20) + desctime; hclient.Client.mutateRow(tableName.ToBytes(), rowkey.ToBytes(), new List <Apache.Hadoop.Hbase.Mutation> { new Apache.Hadoop.Hbase.Mutation { Column = "t:uid".ToBytes(), Value = userid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "t:url".ToBytes(), Value = url.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "t:dt".ToBytes(), Value = dt.ToString().ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "t:ref".ToBytes(), Value = referer.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "t:toid".ToBytes(), Value = toid.ToBytes() } }); } }
public void v() { string tableName = "tracku"; using (var hclient = HBaseClientPool.GetHclient()) { } }
// IPstat 表 : create 'ipstat','r' public static List <TRowResult> ScanIp(int top = 1000) { using (var hclient = HBaseClientPool.GetHclient()) { var scanid = hclient.Client.scannerOpen("ipstat".ToBytes(), "192.".ToBytes(), new List <byte[]> { "r".ToBytes() }); var list = hclient.Client.scannerGetList(scanid, top); return(list); } }
//这里加一行,测试一下提交变更 //public static void PoolAddLog(string userid, string ip, DateTime logintime, bool result) //{ // using (var hclient = HBaseClientPool.GetHclient()) // { // string strtime = H.Comm.TimeUtility.DescTimeStamp(logintime).ToString(); // string row = H.Comm.StringUtility.FixedLenString(userid, 20) + strtime; // hclient.Client.mutateRow(tableName.ToBytes(), row.ToBytes(), // new List<Apache.Hadoop.Hbase.Mutation> { // new Apache.Hadoop.Hbase.Mutation{ Column= "u:uid".ToBytes(), Value = userid.ToBytes() }, // new Apache.Hadoop.Hbase.Mutation{ Column= "u:ip".ToBytes(), Value = ip.ToBytes() }, // new Apache.Hadoop.Hbase.Mutation{ Column= "u:lt".ToBytes(), Value = logintime.ToString().ToBytes() }, // new Apache.Hadoop.Hbase.Mutation{ Column= "u:r".ToBytes(), Value = Convert.ToInt16(result).ToString().ToBytes() } // }); // } //} /// <summary> /// /// </summary> /// <param name="userid"></param> /// <param name="top"></param> /// <returns></returns> public static List <TRowResult> GetLog(string userid, int top = 100) { string prefixrow = H.Comm.StringUtility.FixedLenString(userid, 20); using (var hclient = HBaseClientPool.GetHclient()) { var scanid = hclient.Client.scannerOpenWithPrefix(tableName.ToBytes(), prefixrow.ToBytes(), new List <byte[]> { "u".ToBytes() }); var list = hclient.Client.scannerGetList(scanid, top); return(list); } }
/// <summary> /// 使用矩阵方式收集 /// </summary> /// <param name="userid"></param> /// <param name="gameid"></param> /// <param name="point"></param> /// <param name="ratingtime"></param> public static void Games2(string userid, string gameid, double point, DateTime ratingtime) { if (!Config.IsUseHbase) { return; } string tableName = "gameratings2"; using (var hclient = HBaseClientPool.GetHclient()) { //string strtime = H.Comm.TimeUtility.DescTimeStamp(ratingtime).ToString(); string row = H.Comm.StringUtility.FixedLenString(userid, 20); hclient.Client.mutateRow(tableName.ToBytes(), row.ToBytes(), new List <Apache.Hadoop.Hbase.Mutation> { new Apache.Hadoop.Hbase.Mutation { Column = ("g:" + gameid).ToBytes(), Value = point.ToString().ToBytes() } }); } }
/// <summary> /// 一个用户与另一个用户的联系,这里只考虑一个单向的关系 /// </summary> /// <param name="fromUid"></param> /// <param name="toUid"></param> /// <param name="UpdateTime"></param> public static void AddRelation(string fromUid, string toUid, bool add, DateTime UpdateTime) { if (!Config.IsUseHbase) { return; } string tableName = "relation"; using (var hclient = HBaseClientPool.GetHclient()) { string desctime = H.Comm.TimeUtility.DescTimeStamp(UpdateTime).ToString(); string rowkey = H.Comm.StringUtility.FixedLenString(fromUid, 20) + H.Comm.StringUtility.FixedLenString(toUid, 20) //+ desctime ; if (add) { hclient.Client.mutateRow(tableName.ToBytes(), rowkey.ToBytes(), new List <Apache.Hadoop.Hbase.Mutation> { new Apache.Hadoop.Hbase.Mutation { Column = "r:uid".ToBytes(), Value = fromUid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "r:tid".ToBytes(), Value = toUid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "r:dt".ToBytes(), Value = UpdateTime.ToString().ToBytes() } }); } else { hclient.Client.deleteAllRow(tableName.ToBytes(), rowkey.ToBytes()); } } }
/// <summary> /// 插入用户订单 /// /// : create 'userorder','o' /// </summary> public static void AddUserOrder(string userid, string orderid, string productid, string pip, int count, double price, double money, DateTime ordertime) { using (var hclient = HBaseClientPool.GetHclient()) { string desctime = H.Comm.TimeUtility.DescTimeStamp(ordertime).ToString(); string rowkey = H.Comm.StringUtility.FixedLenString(userid, 20) + H.Comm.StringUtility.FixedLenString(productid, 20) + desctime; hclient.Client.mutateRow(tableName.ToBytes(), rowkey.ToBytes(), new List <Apache.Hadoop.Hbase.Mutation> { new Apache.Hadoop.Hbase.Mutation { Column = "o:uid".ToBytes(), Value = userid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "o:oid".ToBytes(), Value = orderid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "o:pid".ToBytes(), Value = productid.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "o:pip".ToBytes(), Value = pip.ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "o:cnt".ToBytes(), Value = count.ToString().ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "o:pri".ToBytes(), Value = price.ToString().ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "o:mny".ToBytes(), Value = money.ToString().ToBytes() }, new Apache.Hadoop.Hbase.Mutation { Column = "o:tim".ToBytes(), Value = ordertime.ToString().ToBytes() } }); } }