你用pig分析access_log日志中ip訪問次數

环境说明:

os版本:rhel5.7 64位

hadoop版本:hadoop-0.20.2

hbase版本:hbase-0.90.5

pig版本:pig-0.9.2

访问日志文件,下载文章中的附件!

日志放在本地目录路径为:/home/hadoop/access_log.txt

日志格式为:

220.181.108.151 - - [31/Jan/2012:00:02:32 +0800] "GET /home.php?mod=space&uid=158&do=album&view=me&from=space HTTP/1.1" 200 8784 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"

1)在hdfs文件系统中创建input目录

grunt> mkdir input

grunt> ls

hdfs://node1.test.com:9000/user/hadoop/input <dir>

grunt> cd input

grunt> ls

grunt> pwd

hdfs://node1.test.com:9000/user/hadoop/input

2)把本地日志文件系统加载到hdfs系统当前目录的log.txt文件里面;

grunt> copyFromLocal /home/hadoop/access_log.txt log.txt

2014-10-14 10:53:49,667 [Thread-7] INFO org.apache.hadoop.hdfs.DFSClient - Exception in createBlockOutputStream java.net.NoRouteToHostException: No route to host

2014-10-14 10:53:49,667 [Thread-7] INFO org.apache.hadoop.hdfs.DFSClient - Abandoning block blk_-7546596643624545852_1118

2014-10-14 10:53:49,669 [Thread-7] INFO org.apache.hadoop.hdfs.DFSClient - Excluding datanode 172.16.41.154:50010

#查看相关文件

grunt> ls

hdfs://node1.test.com:9000/user/hadoop/input/log.txt<r 2> 7118627

3)加载文件内容到变量a中,分隔符为‘ ’;

grunt> a = load '/user/hadoop/input/log.txt'

>> using PigStorage(' ')

>> AS (ip,a1,a2,a3,a4,a5,a6,a7,a8);

4)对ip字段过滤

grunt> b = foreach a generate ip;

5)按ip对c进行group by操作:

grunt> c = group b by ip;

6)对ip点击次数进行统计:

grunt> d = foreach c generate group,COUNT($1);

显示计算结果

grunt> dump d;




    		    你用pig分析access_log日志中ip訪問次數




    		    你用pig分析access_log日志中ip訪問次數

本文出自 “shine_forever的博客” 博客,请务必保留此出处http://shineforever.blog.51cto.com/1429204/1563850

更多相关文章
  • 查询ip地址所用的组件 wget http://rfyiamcool.googlecode.com/files/nali-0.1.tar.gz tar zxvf nali-0.1.tar.gz cd nali-0.1
  • 


    		    shell分析nginx日志中ip所在的地區 shell統計ip地區
    shell统计日志访客的ip地区~~~~~~~~~ 可以分析nginx squid apache lighttpd的日志 #wget http://rfyiamcool.googlecode.com/files/nali-0.1.tar.gz wget http://qqwry.googlecode
  • 1.解压并释放awstats软件包,执行目录中的awstats_configure.pl脚本进行安装 [[email protected] src]# tar zxvf awstats-7.1.tar.gz -C /usr/loca
  • 参考博文: CentOS 配置mysql允许远程登录 Centos6.5 双网卡配置一个上外网一个接局域网  这个博文仅作参考   公司租用景安的服务器,给景安沟通配置内网. [[email protected] nginx]#
  • 


    		    利用pig分析cdn訪問日志內指定時間段的url訪問次數
    需求说明: 由于cdn收费是按照最高带宽收费的,但是公司平台平均使用cdn带宽为100M多,但是有几个时间点的带宽,突然涨到300M,但是不到5分钟就回落下来了,但就是为5分钟的高出的带宽,公司就要多付费用,不划算,所以要配合研发分析峰值左右前后5分钟的url访问次数,定位问题! cdn流量图如下:
  • 


    		    hadoop中的hive查詢cdn訪問日志指定時間段內url訪問次數最多的前10位(結合python語言)
    hadoop环境描述: master节点:node1 slave节点:node2,node
  • 


    		    Python基于nginx訪問日志並統計IP訪問量
    如果想看看Nginx有多少IP访问量,有哪些国家访问,并显示IP地址的归属地分布,pyth
  • 创建的用户中如anonymous-IP访问-添加拒绝访问IP段后会导致所有账户都无法访问. 解决: IP设置规则如下: 在 Serv-U 中, IP Access 很多地方都有出现, 这就是限制 IP 访问的地方了.
一周排行