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做出来就行了。

  • 相关阅读:
    ssm框架中的struts我的配置问题
    ssm框架web.xml中filter配置问题
    partition-list
    entity.Student@150f3932, entity.Student@1a740c6b 没有实体中的数据
    UVA 11361 Investigating Div-Sum Property
    UVA 10883 Supermean
    Gym 101081K Pope's work
    UVA 1103 How Many O's?
    HOJ 1108
    HDU 5936 朋友
  • 原文地址:https://www.cnblogs.com/limitCM/p/11853884.html
Copyright © 2011-2022 走看看