大数据基础设计报告.pdf

大数据基础课程设计报告 一、项目简介: 使用 hadoop 中的hive、mapreduce 以及HBASE 对网上的一个搜 狗五百万的数进行了一个比较实际的数据分析。搜狗五百万数据,是 经过处理后的搜狗搜索引擎生产数据,具有真实性,大数据性,能够 较好的满足分布式计算应用开发课程设计的数据要求。 搜狗数据的数据格式为:访问时间\t 用户 ID\t[查询词]\t 该 URL 在返回结果中的排名\t 用户点击的顺序号\t 用户点击的 URL。 其中,用户 ID 是根据用户使用浏览器访问搜索引擎时的 Cookie 信 息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户 ID。 二、操作要求 1.将原始数据加载到 HDFS 平台。 2.将原始数据中的时间字段拆分并拼接,添加年、月、日、小时字段。 3.将处理后的数据加载到 HDFS 平台。 4.以下操作分别通过MR 和 Hive 实现。 查询总条数 非空查询条数 无重复总条数 独立 UID 总数 查询频度排名(频度最高的前 50 词) 查询次数大于 2 次的用户总数 查询次数大于 2 次的用户占比 Rank 在 10 以内的点击次数占比 直接输入 URL 查询的比例 查询搜索过”仙剑奇侠传“的 uid,并且次数大于 3 5.将 4 每步骤生成的结果保存到 HDFS 中。 6.将 5 生成的文件通过 Java API 方式导入到 HBase (一张表)。 7.通过 HBase shell 命令查询 6 导出的结果。 三、实验流程 1.将原始数据加载到 HDFS 平台 2.将原始数据中的时间字段拆分并拼接,添加年、月、日、 小时字段 (1)编写 1 个脚本 sogou-log-extend.sh,其中 sogou-log-extend.sh 的内容 为: #!/bin/bash #infile=/root/sogou.500w.utf8 infile=$1 #outfile=/root/filesogou.500w.utf8.ext outfile=$2 awk -F \t {print$0\tsubstr($1,0,4)年 \tsubstr($1,5,2)月 \tsubstr($1,7,2)日 \tsubstr($1,8,2)hour} $infile $outfile 处理脚本文件: bash sogou-log-extend.sh sogou.500w.utf8 sogou.500w.utf8.ext 结果为: 3.将处理后的数据加载到 HDFS 平台 hadoop fs -put sogou.500w.utf8.ext / 4.以下操作分别通过 MR 和 Hive 实现 Ⅰ.hive实现 1.查看数据库:show databases; 2.创建数据库 : create database sogou; 3.使用数据库 : use sogou; 4.查看所有表:show tables; 5.创建 sougou 表:Create table sogou(time string,uuid string,name string,num1 int,num2 int,url string) Row format delimited fields terminated by \t; 6.将本地数据导入到 Hive 表里:Load data local inpath /root/sogou.500w.utf8 into table sogou; 7.查看表信息:desc sogou; (1)查询总条数 select count(*) from sogou; (2)非空查询条数 select count(*) from sogou where name is not null and name !=; (3)无重复总条数 select count(*) from (select * from sogou group by time,num1,num2,uuid,name,url having count(*)=1) a; (4)独立UID 总数 select count(distinct uuid) from sog

文档评论(0)

1亿VIP精品文档

相关文档