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

  • 相关阅读:
    sql 四大排名函数--简介
    Markdown语法规则
    利用ADO操作外部数据——Excel之VBA(15)
    VBA中的用户信息交换——Excel之VBA(14)
    窗体和控件(2)——Excel之VBA(13)
    窗体和控件(1)——Excel之VBA(12)
    使用VBA数组公式——Excel之VBA(11)
    使用DIR函数合并多个文件的数据——Excel之VBA(10)
    ubuntu jupter python虚拟环境
    Pytorch_加载自己的数据集并训练
  • 原文地址:https://www.cnblogs.com/limitCM/p/11853884.html
Copyright © 2020-2023  润新知