大数据Hive学习案例(2)——基于汽车销售的日志数据分析
下方有数据可免费下载
目录
- 原始数据
- 项目实战
- 数据仓库的构建
- 1.构建数据仓库
- 2.创建原始数据表
- 3.加载数据到数据仓库
- 4.验证数据结果
- 数据分析
- 1.乘用车辆和商用车辆的销售数量和比例
- 2.山西省2013年每个月的汽车销售数量比例
- 3.买车的男女比例和男女对车的品牌的选择
- 4.车的所有权,车辆型号,车辆类型
- 5.不同车型在一个月的销售量
- 6.不同品牌车销售情况,统计发动机和燃料种类
- 7.统计五菱某一年每月的销售量
数据下载请点击我,提取码:cxr7,觉得有用希望您能点一个赞哦。
原始数据
原始数据为csv格式,列数比较多
项目实战
数据仓库的构建
1.构建数据仓库
create database if not exists car;
2.创建原始数据表
use car;create external table cars(
province string, --省份
month int, --月
city string, --市
district string, --区县
year int, --年
model string,--车辆型号
manufacturer string,--制造商
brand string, --品牌
vehicletype string,--车辆类型
ownership string,--所有权
nature string, --使用性质
quantity int,--数量
enginemodel string,--发动机型号
displacement int,--排量
power double, --功率
fuel string,--燃料种类
length1 int,--车长
width1 int,--车宽
height1 int,--车高
length2 int,--厢长
width2 int,--厢宽
height2 int,--厢高
numberofaxles int,--轴数
wheelbase int,--轴距
frontwheelbase int,--前轮距
tirespecification string,--轮胎规格
tirenumber int,--轮胎数
totalquality int,--总质量
completequality int,--整备质量
approvedquality int,--核定载质量
approvedpassenger string,--核定载客
tractionquality int,--准牵引质量
chassisenterprise string,--底盘企业
chassisbrand string,--底盘品牌
chassismodel string,--底盘型号
engineenterprise string,--发动机企业
vehiclename string,--车辆名称
age int,--年龄
gender string --性别
)
row format delimited
fields terminated by ','
location '/cars'
tblproperties("skip.header.line.count"="1"); --跳过文件行首1行;desc cars;
3.加载数据到数据仓库
[hadoop@hadoop000 hive_data]$ hadoop fs -put ./cars.csv /cars
4.验证数据结果
select * from cars limit 10;
数据分析
1.乘用车辆和商用车辆的销售数量和比例
select '非营运',sum(if(a.nature='非营运',a.cnt,0)),'营运',sum(if(a.nature!='非营运',a.cnt,0))
from
(select nature,count(*) as cnt
from cars group by nature having nature is not null and nature!='') a;
Total MapReduce CPU Time Spent: 6 seconds 810 msec
OK
非营运 66478 营运 3884
Time taken: 32.365 seconds, Fetched: 1 row(s)
2.山西省2013年每个月的汽车销售数量比例
select month,c1.ss/c2.sum
from
(select month,sum(quantity) as ss
from cars where province = '山西省' and year = '2013' group by month ) c1,
(select sum(quantity) as sum
from cars where province = '山西省' and year = '2013') c2;
Total MapReduce CPU Time Spent: 9 seconds 150 msec
OK
1 0.14799181376311077
2 0.05831272561894204
3 0.09306159574770473
4 0.06587362496802251
5 0.0732071288479577
6 0.05547028225462608
7 0.06323015263920867
8 0.06378442909525028
9 0.06948352804070379
10 0.1044882180722549
11 0.10053722179585571
12 0.1045592791563628
Time taken: 53.486 seconds, Fetched: 12 row(s)
3.买车的男女比例和男女对车的品牌的选择
select '男性',B.man/(B.man+B.woman),'女性', B.woman/(B.man+B.woman)
from
(select '男性',sum(if(A.gender='男性',A.cnt,0)) as man,'女性',sum(if(A.gender='女性',A.cnt,0)) as woman
from
(select gender,count(*) as cnt
from cars where gender is not null and gender != '' group by gender) A) B;
Total MapReduce CPU Time Spent: 5 seconds 880 msec
OK
男性 0.7010659323952227 女性 0.29893406760477725
Time taken: 34.488 seconds, Fetched: 1 row(s)
select gender,brand,count(*) as cnt
from cars
where gender is not null and gender != '' and age is not null
group by gender,brand
having brand is not null and brand !=' '
order by cnt desc
limit 5;
Total MapReduce CPU Time Spent: 5 seconds 330 msec
OK
男性 五菱 28208
女性 五菱 12004
男性 长安 3679
男性 东风 3214
男性 五菱宏光 2331
Time taken: 33.615 seconds, Fetched: 5 row(s)
4.车的所有权,车辆型号,车辆类型
select a.cnt,count(*)
from
(select concat(model,ownership,vehicletype) as cnt from cars) a
group by a.cnt;
ZK6726DX3单位大型专用校车 1
ZK6726DXA9单位大型专用校车 4
ZK6729D2单位大型普通客车 2
ZK6729DB单位大型普通客车 16
ZK6731DG1单位大型普通客车 6
ZK6731NG1单位大型普通客车 24
ZK6750D2单位大型普通客车 17
......
5.不同车型在一个月的销售量
select month,vehicletype,count(*) from cars group by vehicletype,month having month is not null and vehicletype is null and vehicletype != '';
6.不同品牌车销售情况,统计发动机和燃料种类
select brand,enginemodel,fuel,count(*) from cars group by brand,enginemodel,fuel;
7.统计五菱某一年每月的销售量
select brand,month,count(*) from cars group by brand,month having brand='五菱';
Total MapReduce CPU Time Spent: 3 seconds 940 msec
OK
五菱 1 5589
五菱 2 2226
五菱 3 3557
五菱 4 2389
五菱 5 3351
五菱 6 2302
五菱 7 2893
五菱 8 2980
五菱 9 3422
五菱 10 5278
五菱 11 4809
五菱 12 4963
Time taken: 16.416 seconds, Fetched: 12 row(s)
大数据Hive学习案例(2)——基于汽车销售的日志数据分析相关推荐
- 大数据Hive学习案例(1)——基于搜狗sogou_500w的日志数据分析
下方有数据可免费下载 目录 数据预处理 查看数据 数据扩展 数据加载 构建数据仓库 创建外部表 创建分区表 数据分析需求 条数统计 关键词分析 UID分析 用户行为分析 点击次数与rank之间的关系分 ...
- 大数据----Hive学习(6)----Hive 基本操作4
文章目录 函数 1 系统内置函数 2 常用内置函数 2.1 空字段赋值 2.2 CASE WHEN THEN ELSE END 2.3 行转列 2.4 列转行 2.5 窗口函数(开窗函数) 2.6 R ...
- 2021年大数据Hive(十二):Hive综合案例!!!
全网最详细的大数据Hive文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hive综合案例 一.需求描述 二.项目表的字段 三.进 ...
- 图解大数据 | Hive搭建与应用@实操案例
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/84 本文地址:http://www.showmeai.tech/article-det ...
- 大数据单机学习环境搭建(5)Hive建表DDL详解
专题:大数据单机学习环境搭建和使用 1. Hive建表简单示例 1.1.Hive建表语句 1.2.表详细信息 1.3.数据展示 2. Hive建表语法详解 3.拓展1:复杂数据分割 4.拓展2:事务表 ...
- B06 - 999、大数据组件学习③ - Hive
初学耗时:999h 注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端. 『 因为要去见那个不一般的人,所以我就不能是一般人.』 B99.要学就学大数据 - B系列总纲 ...
- 大数据之学习成绩处理案例(一)
大数据之学习成绩处理案例 来自学了两天python的NewBee-Yunzi的第一个案例总结: 这个案例学习如何处理数据表中的重复值,异常值,空值,空格,根据条件对值进行分级. 有这么个数据表: 学号 ...
- 2021年大数据Hive(一):Hive基本概念
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 历史文章 前言 Hive基本概念 一.Hive介绍 1.什么是Hive 2.为什么使 ...
- 2018大数据培训学习路线图(详细完整版)
2018大数据培训学习路线全课程目录+学习线路详解(详细完整版) 第一阶段:大数据基础Java语言基础阶段 1.1:Java开发介绍 1.1.1 Java的发展历史 1.1.2 Java的应用领域 1 ...
最新文章
- C++11中std::forward_list单向链表的使用
- 如何计算两个文档的相似度(一)
- php pdo 打印sql语句,php – 使用PDO准备SQL语句
- EL表达式中获取List中某个元素的值
- 常用算法 之二 牛顿迭代法求解PT100温度(高阶方程求解)
- LambdaNetworks解读
- 文博项目-终端网口测试-软件
- 荣耀 升级 鸿蒙,荣耀终于放出大招!4部荣耀旗舰可升级鸿蒙,网友:终于等到了...
- Ubuntu下安装Rabbitmq和golang环境
- php查询锁表情况,MySQL update where in 子查询导致锁表
- web 前端常用组件【04】Datetimepicker 和 Lodop
- python发音语言-python 利用pyttsx3文字转语音过程详解
- nodejs + echarts 图表展示
- 银行笔试题 java笔试题
- wkhtmltox使用(html转pdf或图片)
- C# Form窗体打开BIN文件并读取二进制数据
- 深度分析红米note9和华为nova8哪个好-红米note9和华为nova8区别
- info在python中的意思_为什么我没有在python中收到日志INFO消息?
- MeanShift算法理解
- 怎样自动以管理员身份运行bat文件?
热门文章
- 良心推荐:看完这 20 部 BBC 神级纪录片,英语水平提升几个 Level!
- 编写一个python程序判断用户输入的8位银行卡_用Python编写的程序,提示用户输入一个由7位数字组成的帐号?...
- iOS手机端日志打印显示工具
- 盛华软件工作室 -开张了
- 为什么那么多公司都选择灵活用工?
- web利用html2canvas实现截图上传图片
- [机器学习实战] 深度学习为黑白图像着彩色
- 虚拟机安装debian
- 苹果X可以升级5G吗_苹果分析师:2020 年的 iPhone 屏幕尺寸升级,还有 5G
- Node.js中的异步编程,个人理解及分化讲解