当前位置: 首页 > news >正文

政务服务网站建设标准供需平台类网站建设

政务服务网站建设标准,供需平台类网站建设,小程序商城功能,东营市招投标信息网网站日志分析项目案例#xff08;一#xff09;项目介绍#xff1a;http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例#xff08;二#xff09;数据清洗#xff1a;http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例#… 网站日志分析项目案例一项目介绍http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例二数据清洗http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例三统计分析当前页面 一、借助Hive进行统计 1.1 准备工作建立分区表   为了能够借助Hive进行统计分析首先我们需要将清洗后的数据存入Hive中那么我们需要先建立一张表。这里我们选择分区表以日期作为分区的指标建表语句如下这里关键之处就在于确定映射的HDFS位置我这里是/project/techbbs/cleaned即清洗后的数据存放的位置 hiveCREATE EXTERNAL TABLE techbbs(ip string, atime string, url string) PARTITIONED BY (logdate string) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t LOCATION /project/techbbs/cleaned;   建立了分区表之后就需要增加一个分区增加分区的语句如下这里主要针对20150425这一天的日志进行分区 hiveALTER TABLE techbbs ADD PARTITION(logdate2015_04_25) LOCATION /project/techbbs/cleaned/2015_04_25;     有关分区表的详细介绍此处不再赘述如有不明白之处可以参考本笔记系列之17-Hive框架学习一文。 1.2 使用HQL统计关键指标   1关键指标之一PV量   页面浏览量即为PV(Page View)是指所有用户浏览页面的总和一个独立用户每打开一个页面就被记录1 次。这里我们只需要统计日志中的记录个数即可HQL代码如下 hiveCREATE TABLE techbbs_pv_2015_04_25 AS SELECT COUNT(1) AS PV FROM techbbs WHERE logdate2015_04_25;      2关键指标之二注册用户数   该论坛的用户注册页面为member.php而当用户点击注册时请求的又是member.php?modregister的url。因此这里我们只需要统计出日志中访问的URL是member.php?modregister的即可HQL代码如下 hiveCREATE TABLE techbbs_reguser_2015_04_25 AS SELECT COUNT(1) AS REGUSER FROM techbbs WHERE logdate2015_04_25 AND INSTR(url,member.php?modregister)0;        3关键指标之三独立IP数   一天之内访问网站的不同独立 IP 个数加和。其中同一IP无论访问了几个页面独立IP 数均为1。因此这里我们只需要统计日志中处理的独立IP数即可在SQL中我们可以通过DISTINCT关键字在HQL中也是通过这个关键字 hiveCREATE TABLE techbbs_ip_2015_04_25 AS SELECT COUNT(DISTINCT ip) AS IP FROM techbbs WHERE logdate2015_04_25;        4关键指标之四跳出用户数   只浏览了一个页面便离开了网站的访问次数即只浏览了一个页面便不再访问的访问次数。这里我们可以通过用户的IP进行分组如果分组后的记录数只有一条那么即为跳出用户。将这些用户的数量相加就得出了跳出用户数HQL代码如下 hiveCREATE TABLE techbbs_jumper_2015_04_25 AS SELECT COUNT(1) AS jumper FROM (SELECT COUNT(ip) AS times FROM techbbs WHERE logdate2015_04_25 GROUP BY ip HAVING times1) e;    PS跳出率是指只浏览了一个页面便离开了网站的访问次数占总的访问次数的百分比即只浏览了一个页面的访问次数 / 全部的访问次数汇总。这里我们可以将这里得出的跳出用户数/PV数即可得到跳出率。   5将所有关键指标放入一张汇总表中以便于通过Sqoop导出到MySQL   为了方便通过Sqoop统一导出到MySQL这里我们借助一张汇总表将刚刚统计到的结果整合起来通过表连接结合HQL代码如下 hiveCREATE TABLE techbbs_2015_04_25 AS SELECT 2015_04_25, a.pv, b.reguser, c.ip, d.jumper FROM techbbs_pv_2015_04_25 a JOIN techbbs_reguser_2015_04_25 b ON 11 JOIN techbbs_ip_2015_04_25 c ON 11 JOIN techbbs_jumper_2015_04_25 d ON 11;    二、使用Sqoop导入到MySQL 2.1 准备工作在MySQL中创建结果汇总表   1Step1创建一个新数据库techbbs mysql create database techbbs;Query OK, 1 row affected (0.00 sec)   2Step2创建一张新数据表techbbs_logs_stat mysql create table techbbs_logs_stat(- logdate varchar(10) primary key,- pv int,- reguser int,- ip int,- jumper int);Query OK, 0 rows affected (0.01 sec) 2.2 导入操作通过export命令   1Step1编写导出命令 sqoop export --connect jdbc:mysql://hadoop-master:3306/techbbs --username root --password admin --table techbbs_logs_stat --fields-terminated-by \001 --export-dir /hive/techbbs_2015_04_25   这里的--export-dir是指定的hive目录下的汇总表所在位置我这里是/hive/techbbs_2015_04_25。   2Step2查看导出结果    三、改写Linux定时任务   刚刚我们已经借助Hive进行了关键指标的统计分析并且借助Sqoop导出到了MySQL后续可以借助JSP或者ASP.NET开发指标浏览界面供决策者进行浏览分析。但是刚刚这些操作都是我们自己手工操作的我们需要实现自动化的统计分析并导出于是我们改写前一篇中提到的定时任务脚本文件。 3.1 加入分区、统计与导出操作   重写techbbs_core.sh文件内容如下step4~step8为新增内容 #!/bin/sh......#step4.alter hive table and then add partition hive -e ALTER TABLE techbbs ADD PARTITION(logdate${yesterday}) LOCATION /project/techbbs/cleaned/${yesterday}; #step5.create hive table everyday hive -e CREATE TABLE hmbbs_pv_${yesterday} AS SELECT COUNT(1) AS PV FROM hmbbs WHERE logdate${yesterday}; hive -e CREATE TABLE hmbbs_reguser_${yesterday} AS SELECT COUNT(1) AS REGUSER FROM hmbbs WHERE logdate${yesterday} AND INSTR(url,member.php?modregister)0; hive -e CREATE TABLE hmbbs_ip_${yesterday} AS SELECT COUNT(DISTINCT ip) AS IP FROM hmbbs WHERE logdate${yesterday}; hive -e CREATE TABLE hmbbs_jumper_${yesterday} AS SELECT COUNT(1) AS jumper FROM (SELECT COUNT(ip) AS times FROM hmbbs WHERE logdate${yesterday} GROUP BY ip HAVING times1) e; hive -e CREATE TABLE hmbbs_${yesterday} AS SELECT ${yesterday}, a.pv, b.reguser, c.ip, d.jumper FROM hmbbs_pv_${yesterday} a JOIN hmbbs_reguser_${yesterday} b ON 11 JOIN hmbbs_ip_${yesterday} c ON 11 JOIN hmbbs_jumper_${yesterday} d ON 11; #step6.delete hive tables hive -e drop table hmbbs_pv_${yesterday}; hive -e drop table hmbbs_reguser_${yesterday}; hive -e drop table hmbbs_ip_${yesterday}; hive -e drop table hmbbs_jumper_${yesterday}; #step7.export to mysql sqoop export --connect jdbc:mysql://hadoop-master:3306/techbbs --username root --password admin --table techbbs_logs_stat --fields-terminated-by \001 --export-dir /hive/hmbbs_${yesterday} #step8.delete hive table hive -e drop table techbbs_${yesterday}; 3.2 分离日期获取操作   1改写techbbs_core.sh脚本文件 #!/bin/sh#step1.get yesterday format string #yesterdaydate --date1 days ago %Y_%m_%d yesterday$1   这里将日期字符串作为参数传入将该步骤转移到了其他脚本文件中   2新增techbbs_daily.sh脚本文件 #!/bin/shyesterdaydate --date1 days ago %Y_%m_%d hmbbs_core.sh $yesterday   这里获取日期并作为参数传递给techbbs_core.sh文件   3改写crontab定时任务配置crontab -e * 1 * * * /usr/local/files/apache_logs/techbbs_daily.sh   这里每天凌晨1点自动执行的就变为techbbs_daily.sh脚本文件了从此我们只需定期查看mysql数据库中的汇总结果表进行浏览即可 3.3 初始化任务操作   当一个网站已经生成了很多天的日志而我们的日志分析系统却一直没上线一直等到了某天才上线。这时我们需要写一个初始化脚本任务来对之前的每天的日志进行统计分析与导出结果。这里我们新增一个techbbs_init.sh脚本文件内容如下 #!/bin/sh#step1.create external table in hive hive -e CREATE EXTERNAL TABLE techbbs(ip string, atime string, url string) PARTITIONED BY (logdate string) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t LOCATION /project/techbbs/cleaned;#step2.compute the days between start date and end date s1date --date$1 %s s2date %s s3$((($s2-$s1)/3600/24))#step3.excute techbbs_core.sh $3 times for ((i$s3; i0; i--)) dologdatedate --date$i days ago %Y_%m_%dtechbbs_core.sh $logdate done 四、小结   通过三部分的介绍该网站的日志分析工作基本完成当然还有很多没有完成的东西但是大体上的思路已经明了后续的工作只需要在此基础上稍加分析即可完成。当然我们还可以通过JSP或ASP.NET读取MySQL或HBase中的分析结果表来开发关键指标查询系统供网站运营决策者进行查看和分析。   原文链接http://www.cnblogs.com/edisonchou/ 转载于:https://www.cnblogs.com/zzmmyy/p/7777443.html
http://www.pierceye.com/news/176898/

相关文章:

  • 试玩平台网站怎么做网站建设推荐中企动力
  • 衡水做网站建设台州网站建设选浙江华企
  • 某集团网站建设规划书用flash做的经典网站
  • 企业网站用什么做一个空间怎么放两个网站吗
  • 58同城长沙回收网站建设长春seo推广
  • 景区网站建设的意义女生学计算机应用技术可以做什么
  • 做律师网站的公司天津公司网站制作
  • 上海建设摩托车官方网站招聘网站数建设
  • 自己制作一个网站需要什么软件安吉网站制作
  • 如何设计服装网站首页网站建设比较好的公司
  • 微信网站的链接标志图片如何做公众号如何创建
  • 建站公司建的网站能改动吗怎样设置默认网站
  • 高并发电商网站开发辽宁省朝阳市做网站
  • 公司做网站有用吗合肥企业快速建站
  • 因脉网站建设公司怎么呀韩国网站开发建设技术特点
  • 网站备案 个人 单位安徽网站建设推广
  • 黔江网站制作网站招标建设
  • 网站注册公司目前最好的引流方法
  • 小米wifi设置网址入口网站通信工程建设网站
  • 深圳专业网站建在线做插画的网站
  • 站长之家网站查询怎么样创建自己的小程序
  • 站酷海报设计图片网站备份怎么做
  • 做网站挣钱么云市场 wordpress
  • 网站域名管理规范seo专员是什么
  • 网站制作+资讯网站特色栏目重要性
  • 网站qq 微信分享怎么做的随州市住房和城乡建设部网站
  • 资源网站建设多少钱手机网站页面文字做多大
  • 烟台专业做网站宜昌教育云网站建设
  • 慕课联盟网站开发实战wordpress怎样修改域名
  • 什么电脑做网站前段用旅游网站建设的利益