美文网首页
使用hive进行日志分析

使用hive进行日志分析

作者: loloxiaoz | 来源:发表于2017-08-19 17:17 被阅读0次

任务

将一批登陆日志导入到hive中,然后通过hive计算如下数据,并将计算结果存入mongoDB。
1、每小时的登陆用户数(qid消重)
2、每小时通过各渠道登陆各游戏的用户数
3、12月9日10点的新用户登陆日志的数据结构如下所示。




2、加载数据到登陆日志表
日志文件是按小时组织的,因此一天有24个文件。通过使用“20131208*”可以将12月8号那天的24个文件一次性加载到hive中。
3、在hive中建立计算结果的表结构
storedby指定了该表的存储位置。这里使用了开源的Hive-mongo程序使hive的计算结果直接保存到mongoDB中。tblproperties中指定了mongo的host、port、db、collection。
4、加载数据到计算结果表

遇到的坑

1.加载数据到登陆日志表失败,所有记录的值都为null
原因:正则表达式编写不正确。由于自定义了表属性信息serdeproperties,因此要求正则表达式必须能与日志格式完全匹配,否则提取不到特定信息。为了写出正确的正则表达式,首先在Regex Match Tracer中编写来匹配日志,成功后再将每个正则表达式中的转义字符再加上一个转义符号""(详细解释),但仍然加载不成功。仔细分析后发现,在Regex Match Tracer中用来匹配的那条日志记录,其"渠道"字段都为字符串,因此我在正则表达式中直接使用\w+来匹配,而日志中绝大多数的记录,其“渠道”字段中有分隔符“-”,从而导致绝大多数日志记录不匹配。而每次查看日志表时,只查看前10条记录,恰好前10条记录都不匹配,让我误以为所有的都是null。
2.加载数据到计算结果表时,经常性的失败
原因:将mongo.host写成127.0.0.1。hive会将操作语句转换为map-reduce任务,map-reduce会在w5-w15集群中进行分布式运算。本机为w5,而mongodb只有在w5上才有。若任务分配到w5则能成功连上mongodb,若分配到其他机器上,则会尝试连接其他机器的mongodb,当然会连不上而导致失败。

相关文章

  • 使用hive进行日志分析

    任务 将一批登陆日志导入到hive中,然后通过hive计算如下数据,并将计算结果存入mongoDB。1、每小时的登...

  • SEO之网站日志分析与流量分析

    怎样读日志文件? 日志字段含义: 日志分析案例: 大家可以使用日志分析软件进行分析,例如:光年日志分析。 通过日志...

  • 电商项目(Hive实现)

    外部表的使用 基于ETL的数据加载到数据仓库 使用Hive进行统计分析*对比 MR 和 Hive 查看表: MAN...

  • Hive基础知识-2

    Hive使用场景: 离线数据 处理大数据 延迟高 数据的离线处理;比如:日志分析,海量结构化数据离线分析… Hiv...

  • Hive介绍与核心知识点

    Hive Hive简介 Facebook为了解决海量日志数据的分析而开发了Hive,后来开源给了Apache软件基...

  • Hadoop MR ETL离线项目

    一、需求及步骤解析 1、需求 利用MR对日志进行清洗后交由Hive统计分析 2、步骤解析 1、自己造一份日志,包含...

  • 阿里云DDoS高防 - 访问与攻击日志实时分析(二)

    摘要:本文介绍了如何配置DDoS日志分析功能,结合实际场景详细介绍了如何使用日志对DDoS访问与攻击日志进行分析与...

  • hive日志分析

    一、数据来源: 对技术论坛网站的tomcat access log日志进行分析,计算该论坛的一些关键指标,供运营者...

  • hive的几个小知识点

    1.hive DEBUG日志:(hive终端中查看日志的命令): hive--hiveconfhive.root....

  • Hive介绍与核心知识点--大数据技术栈

    Hive简介 Facebook为了解决海量日志数据的分析而开发了Hive,后来开源给了Apache软件基金会。 官...

网友评论

      本文标题:使用hive进行日志分析

      本文链接:https://www.haomeiwen.com/subject/kdgtdxtx.html