jiang1799 发表于 2018-10-31 12:51:44

hadoop +hive 结构化分析advanceiislog日志

  流程如下:
  1把个website服务器日志目录mount到namenode 服务器相应的目录下:如:
  sudo mount -t cifs //10.22.1.81/AdvancedLogging /home/hadoop/advancedlogging/81 -o username="prod\pro",password='it@lent_8*H\'
  2通过python 脚本putiislog.py把要分析天数的日志put到hdfs上,此例分析昨天的,因为日志不是按天切换的,所以每次put 当天和昨天的日志,实际上我就分析昨天的,不过当天日志里会有昨天的日志
  3put 完以后,通过编写map 和 reduce python脚本,结构化日志
  4进入hive 创建相应的分区,(前提是要先创建好表,一般一个表就够) 此例 创建两个分区,website 和 time   如: "alter table structuredlog add partition(website='www.aa.com',time='2013-07-11')"
  5 把结构化出来的数据cp 到hive 中,
  6 进入hive 就可以通过hql语句进行日志分析了
  涉及到几个脚本
  1putiislog.py(总执行文件,里面含有所有过程)
  2advanceiislogparser.py(结构化advancelog日志,每列用 * 分割)
  3mapiislog.py   (hdfs map过程)
  #!/usr/bin/python2.4
  #coding=utf8
  import fileinput
  import glob
  import string
  import sys
  for line in sys.stdin:
  line = line.strip()
  print line
  4mapandreduce.sh(map/reduce 过程,创建分区,数据导入到hive)
  1 2 4 脚本见附件    用linux 下的vim 打开

页: [1]
查看完整版本: hadoop +hive 结构化分析advanceiislog日志