大三课堂测试总结20191113
时间:2019-11-13
本文章向大家介绍大三课堂测试总结20191113,主要包括大三课堂测试总结20191113使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
测试题目:
1、 数据清洗:按照进行数据清洗,并将清洗后的数据导入hive数据库中。
2、数据处理:
·统计最受欢迎的视频/文章的Top10访问次数 (video/article)
·按照地市统计最受欢迎的Top10课程 (ip)
·按照流量统计最受欢迎的Top10课程 (traffic)
3、数据可视化:将统计结果倒入MySql数据库中,通过图形化展示的方式展现出来。
本次测试的结果并不是很理想,hive装的匆忙,导致在测试的时候启动总是有问题,耽搁了很长的时间。
解答过程:
1.首先是对老师提供的数据进行清洗,通过图片我们可以看出
在图片中已经标出提取数据需要注意点:1.获取的时候以逗号作为分割符号,2.时间的格式需要进行修改,3.在课程编号后面有空格需要删除
所以决定在map的过程中解决这三个事情,完成提取。
public class Map extends Mapper<Object , Text , Text , NullWritable> //map将输入中的value复制到输出数据的key上,并直接输出 { public void map(Object key,Text value,Context context) throws IOException, InterruptedException //实现map函数 { //获取并输出每一次的处理过程 String line=value.toString(); String arr[]=line.split(","); //提取日期 String oldData=arr[1]; String dataTemp[] =oldData.split("/"); if(dataTemp[1].equals("Nov")) { dataTemp[1]="11"; }else { dataTemp[1]="1"; //在文件中没有除了11月以外的月份,所以其他情况就省略 } String dataYear=dataTemp[2].substring(0,4); String dataTime=dataTemp[2].substring(5,13); String newData=dataYear+"-"+dataTemp[1]+"-"+dataTemp[0]+" "+dataTime; //traffic String traffic=arr[3].replace(" ", ""); //媒体类型 String type=arr[4]; //id String id=arr[5]; //整合key //String sum="ip:"+arr[0]+",date:"+newData+",day:"+arr[2]+",traffice:"+traffic+",type:"+type+",id:"+id; String sum=arr[0]+","+newData+","+arr[2]+","+traffic+","+type+","+id; //只填写key值,value值使用nullwrite类型代替 context.write(new Text(sum), NullWritable.get()); } }
原文地址:https://www.cnblogs.com/heiyang/p/11852893.html
- django之对FileField字段的upload_to的设定
- JAVA_HOME环境变量失效的解决办法
- JBOSS EAP 6.0+ Standalone模式安装成Windows服务
- Django 设置media static
- Django---Ajax
- 利用Spring MVC搭建REST Service
- ehcache2.8.3入门示例:hello world
- day4、Linux基础题目
- 命令行执行Django脚本的方法
- Spring Security笔记:Hello World
- day5、文件乱码怎么解决
- javascript计算对象的长度
- Spring 4.0.2 学习笔记(2) - 自动注入及properties文件的使用
- day6、Linux下如何找出7天以前的文件删除
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Hadoop【单机安装-测试程序WordCount】
- MySQL Shell转储和加载第4部分:转储实例和模式
- 【创建模式】--工厂模式
- 【创建模式】--Singleton
- Mapreduce 历史服务 配置启动查看
- Yarn 的日志聚集功能配置使用
- HDFS 的垃圾回收配置
- 配置SSH无密码登录
- OpenCV学习一《Linux下安装OpenCV》
- InnoDB的数据锁–第1部分“简介”
- Kafka中的再均衡
- 基础教程 | Tomcat 中使用 Jenkins
- GSoC: GitHub Checks API 项目第三阶段总结
- Sql注入基础_mysql注入
- WEB 安全学习 一、mysql 注入漏洞