zoukankan      html  css  js  c++  java
  • 【MapReduce、Hive】课堂测试

      时隔许久的博客。


       本次测试包括了三个阶段,清洗、处理和可视化,目的是实现把Result文件内数据进行处理、统计和展示。

    阶段一 数据清洗:按照进行数据清洗,并将清洗后的数据导入hive数据库中

      虽然内容要求把数据格式从——>

    ip:    199.30.25.88

    time:  10/Nov/2016:00:01:03 +0800

    traffic:  62

    文章: article/11325

    视频: video/3235

      变成——>

    ip--->城市 city(IP)

    date--> time:2016-11-10 00:01:03

    day: 10

    traffic:62

    type:article/video

    id:11325

      但后面时间并没用到,所以没有进行MapReduce的清洗操作,如果需要的话,可以用map把时间格式改变。

      另外需要清洗,traffic在文本文件里面多了个空格,用MapReduce或者shell文本处理来进行。(推荐后者)

      然后直接导入hive里面就可以了。

    阶段二 数据处理:三个统计任务

      因为都是相对简单的数据统计,我就没用MapReduce的Java程序,而是用HiveQL来完成(本质SQL语言)。但之后会用MapReduce再实现一次。

    • 统计最受欢迎的视频/文章的Top10访问次数 (video/article)

        select id,type, count(*) as times from result group by id,type order by times DESC limit 10;

    • 按照地市统计最受欢迎的Top10课程 (ip)

        select b.id,b.ip,b.type,b.times from(

          select a.*, row_number() over(partition by a.ip order by a.times desc) n from (select id,ip,type, count(*) times from result group by id,ip,type)a

        )b where b.n<=10;

    • 按照流量统计最受欢迎的Top10课程 (traffic)

        select id,type,count(traffic) traffics from result group by id,type order by times desc limit 10;

      写SQL语句是否方便,可以直接调用hive看到结果,而且整体结构也很清楚,我可以按照这个结构完成MapReduce的程序,会方便不少。

    阶段三 数据可视化:将统计结果倒入MySql数据库中,通过图形化展示的方式展现出来

      这个过程还没完成,只是用sqoop把查询结果导入mysql数据库里面了,之后把可视化用echarts做出来就行了。

  • 相关阅读:
    php环境搭建工具包推荐
    Android视频直播解决方案(rstp、udp)
    软件版本号命名
    附加数据库失败,无法升级数据库,因为它是只读的
    Web Api如何传递POST请求
    找回Reshaprer的Alt+Enter快捷键的方法
    asp.net 实现在线打印功能,jQuery打印插件PrintArea实现自动分页
    asp.net 回发或回调参数无效的各种情况分析及解决办法
    MQTT, XMPP, WebSockets还是AMQP?泛谈实时通信协议选型 good
    echarts 专题
  • 原文地址:https://www.cnblogs.com/limitCM/p/11853884.html
Copyright © 2011-2022 走看看