题目

  1. 使用HADOOP的MAPReduce,实现以下功能:

(1)基于大数据计算技术的条件查询:使用mapreduce框架,实现类似Hbase六个字段查询的功能

(2)时段流量统计:以hh:mm:ss格式输入起始时间和结束时间,统计这段时间之内的总搜索次数(就是记录数)、各个查询词搜索次数,各个网站(URL)的访问量。

注意:同一个网站的URL算在同一个网站上

如women.sohu.com/20070508/n249762812.shtml,

s.sohu.com/20080220/n255256097.shtml,

peng.blog.sohu.com等不同的sohu网页都统计为sohu网站的访问次数。

(3)用户使用频率统计:统计每个用户一天内的搜索次数

(4)访问行为统计:根据该页面在搜索结果中的排名(第4字段),统计不同排名的结果被访问的情况。如排名第一的结果被访问次数,排名第二的结果被访问次数

说到mapreduce,我们就必须先把wordcount弄懂之后,那么剩下的就是举一反三

观看视频

wordcount

确保看懂视频中的词频统计,讲得真的非常好。

注意

由于大文件不能直接在idea上面跑,所以先在小文件上面操作,而且是直接对hdfs操作即可

分析

(1)中的判断条件多了一点,然后将reduce的输出结果改成NullWritable就可以

(2)难点:主要是:同一个网站的 URL 算在同一个网站上,采用的办法就是列出所有的域名(可以到网站爬取)后缀用 split 进行切割,然后去的切割结果的第一部分,接着再按“.”划分得到最后的一个切割结果,即为需要的部分。

例如

原本网址:entertainment.anhuinews.com/system/2004/12/01/001062418.shtml
split域名切割:entertainment.anhuinews. /system/2004/12/01/001062418.shtml
取第一部分:entertainment.anhuinews.
按.切割:entertainment anhuinews
取最后一部分anhuinews
统计

(3)就是一个简单的词频统计

(4)将排名+URL这两个字段拼接成一个字符串之后,就又是一个词频统计

第六部分 数据搜索之使用HBASE的API实现条件查询的更多相关文章

  1. 第四部分 数据搜索之使用HBASE的API实现条件查询

    因为数据清洗部分需要用到Mapreduce,所以先解决hbase的问题,可以用命令先在hbase存一下简单的数据进行查询,之后只要替换数据就可以实现了原本功能 在看该部分前,确保Hase API看了, ...

  2. hbase shell插入根据条件查询数据

    hbase shell插入根据条件查询数据 创建并插入数据: hbase(main):179:0> create 'scores','grade','course' hbase(main):18 ...

  3. 大数据学习系列之三 ----- HBase Java Api 图文详解

    版权声明: 作者:虚无境 博客园出处:http://www.cnblogs.com/xuwujing CSDN出处:http://blog.csdn.net/qazwsxpcm 个人博客出处:http ...

  4. C#_会员管理系统:开发六(数据搜索)

    增加界面中的搜索功能 会员资料管理界面(VIPManager.cs): 详细代码如下: using System; using System.Collections.Generic; using Sy ...

  5. Hbase API 多条件查询

    public static ResultScanner scan(String tableName, String family, List<String> columns, List&l ...

  6. 大数据时代数据库-云HBase架构&生态&实践

    业务的挑战 存储量量/并发计算增大 现如今大量的中小型公司并没有大规模的数据,如果一家公司的数据量超过100T,且能通过数据产生新的价值,基本可以说是大数据公司了 .起初,一个创业公司的基本思路就是首 ...

  7. 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟

    使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 Sqoop 大数据 Hive HBase ETL 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 ...

  8. Elasticsearch 数据搜索篇·【入门级干货】

    ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API.本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用.虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的 ...

  9. 【hbase】——Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询

    1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...

随机推荐

  1. ProBuilder快速原型开发技术 ---模型精细化操作

    前面我们讲解了很多ProBuilder功能,但是对于制作一款复杂的模型来说,还远远不够.需要更多的对于模型细节的处理,这就是本篇文章要讲解的"模型精细化操作"技术. 关于PB对于模 ...

  2. Mysql给外网IP授权访问

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'58.221.44.174' IDENTIFIED BY 'njqt123456' WITH GRANT OPTION; ...

  3. golang 二维平面求多重遮挡三角形总面积

    解决问题描述:二维平面有很多三角形错落,可能会相互叠加落在一起,也可能互相远离.目标求出这些三角形的总占地面积. 我最开始想的解决方案是用总面积-总重叠面积 = 总占地面积.后来实现起来发现当面临多次 ...

  4. Manjaro Linux平台用pyinstaller打包python可执行文件

    技术背景 当我们创建一个python项目,最终的成果如果希望用户能够不依赖于python源代码也能够正常的执行,就会比较的人性化.因为源代码数量众多,很难让每个用户都自行管理所有的源代码,因此我们需要 ...

  5. PAT (Basic Level) Practice (中文) 1050 螺旋矩阵 (25 分) 凌宸1642

    PAT (Basic Level) Practice (中文) 1050 螺旋矩阵 (25 分) 目录 PAT (Basic Level) Practice (中文) 1050 螺旋矩阵 (25 分) ...

  6. vue-cli2 生成的项目打包优化(持续学习中)

    1.昨天看到自己的项目每次打包后都是30M左右,就觉得这个打包后的dist文件太大了,能不能小点呢, 然后就看网上的资料,提供了好多优化的办法,但是我只用了一个,后期再不断的优化吧. 打开工程项目文件 ...

  7. Scrapy 5+1 ——五大坑附送一个小技巧

    笔者最近对scrapy的学习可谓如火如荼,虽然但是,即使是一整天地学习下来也会有中间两三个小时的"无效学习",不是笔者开小差,而是掉进了深坑出不来. 在此,给各位分享一下作为一名S ...

  8. Java后端进阶-网络编程(Netty零拷贝机制)

    package com.study.hc.net.netty.demo; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled ...

  9. Object.assign()和解构赋值:给对象赋值的两种方法

    一.Object.assign()方法给对象赋值 Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象.它将返回目标对象. 拷贝的是属性值 如果目标对象中的属性 ...

  10. 在Win10中手动添加/修改本地IP

    1 前言 好久没动Win10了... 今天需要用Win10做一下实验,手动修改IP,于是写下了这篇文章作为过程记录. 2 概述 Win10里面修改本地IP不是一件特别困难的事,简单来说可以分为两种方式 ...