博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive统计日首次登陆游戏的用户数
阅读量:3959 次
发布时间:2019-05-24

本文共 1567 字,大约阅读时间需要 5 分钟。

【hive建表】

create table CharacterLogin(AppID string,GameID string,ChildId string,IP string,ServerID string,AccountID string,CharacterID string,LogType string,LogTime int,PlatformChannelId string,IsLogin int,OnlineTime int,Level int,VIPLevel int)partitioned by(year string,month string,day string) row format delimited fields terminated by '|';

将数据根据时间分区导入Hive,分区格式为,年/月/日(将文件用xshell上传到linux过程略)

shell脚本如下

path="/home/li/Desktop/CharacterLogin"files=$(ls $path)for filename in $filesdo   filename=${filename%.*} 		var1=`echo "$filename"|awk -F '-' '{print $1}'`	var2=`echo "$filename"|awk -F '-' '{print $2}'`  	var3=`echo "$filename"|awk -F '-' '{print $3}'`	    $HIVE_HOME/bin/hive -e "load data local inpath '$path/$filename.txt' into table  bigtrouble.CharacterLogin partition (year='$var1',month='$var2',day='$var3');"done

【查询思路】

新建HIve数据库为统计库,新建一张表为统计结果表,表中两个字段date,count

查询已分区的角色登录登出表,根据用户ID去重,统计单张表的ID总数,取单表的日期和ID总数插入统计表

shell脚本如下

path="/home/li/Desktop/CharacterLogin" files=$(ls $path) for filename in $filesdo  filename=${filename%.*}         var1=`echo "$filename"|awk -F '-' '{print $1}'`        var2=`echo "$filename"|awk -F '-' '{print $2}'`        var3=`echo "$filename"|awk -F '-' '{print $3}'` count=`$HIVE_HOME/bin/hive -e "select count(distinct AccountID)  from bigtrouble.CharacterLogin where year='$var1' and month='$var2' and day='$var3';"`#不打印查询字段名 $HIVE_HOME/bin/hive -e "set hive.cli.print.header=false;"$HIVE_HOME/bin/hive -e "insert into table day01.count1 values('$var1/$var2/$var3','$count');"   done

【坑】

注意把Hsql语句执行的结果赋值给shell变量时,那个符号不是单引号

转载地址:http://ssazi.baihongyu.com/

你可能感兴趣的文章
http消息长度的确定
查看>>
手机和电脑如何连接蓝牙
查看>>
HTTP协议参数
查看>>
wireshark检索命令
查看>>
五人分鱼问题(附答案)
查看>>
linux查看文件有多少行
查看>>
error:previous declartion of "XXX" is here的解决方法
查看>>
sha1的几个函数的使用
查看>>
为什么int型的数组用memset不能清零(memset的使用规范)
查看>>
<转>CRC校验、MD5、SHA1算法的概念和可靠性现状
查看>>
linux杀死进程详解
查看>>
字符串表示的IP地址与点分式表示的IP地址间的相互转化
查看>>
implicit declaration of function 这种警告问题的原因及解决方法
查看>>
utorrent如何处理占资源过大的问题
查看>>
<好文分享>妖怪和和尚过河问题
查看>>
uTP协议的前世今生(from wikipedia)
查看>>
uTP协议的前世今生(from wikipedia)
查看>>
utp的包头格式<2>
查看>>
开源搜索引擎的比较(收藏几个博客文章)最近要做搜索系统的研究方向
查看>>
asii码表
查看>>