下方有数据可免费下载

目录

  • 原始数据
  • 项目实战
    • 数据仓库的构建
      • 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)——基于汽车销售的日志数据分析相关推荐

  1. 大数据Hive学习案例(1)——基于搜狗sogou_500w的日志数据分析

    下方有数据可免费下载 目录 数据预处理 查看数据 数据扩展 数据加载 构建数据仓库 创建外部表 创建分区表 数据分析需求 条数统计 关键词分析 UID分析 用户行为分析 点击次数与rank之间的关系分 ...

  2. 大数据----Hive学习(6)----Hive 基本操作4

    文章目录 函数 1 系统内置函数 2 常用内置函数 2.1 空字段赋值 2.2 CASE WHEN THEN ELSE END 2.3 行转列 2.4 列转行 2.5 窗口函数(开窗函数) 2.6 R ...

  3. 2021年大数据Hive(十二):Hive综合案例!!!

    全网最详细的大数据Hive文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hive综合案例 一.需求描述 二.项目表的字段 三.进 ...

  4. 图解大数据 | Hive搭建与应用@实操案例

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/84 本文地址:http://www.showmeai.tech/article-det ...

  5. 大数据单机学习环境搭建(5)Hive建表DDL详解

    专题:大数据单机学习环境搭建和使用 1. Hive建表简单示例 1.1.Hive建表语句 1.2.表详细信息 1.3.数据展示 2. Hive建表语法详解 3.拓展1:复杂数据分割 4.拓展2:事务表 ...

  6. B06 - 999、大数据组件学习③ - Hive

    初学耗时:999h 注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端. 『   因为要去见那个不一般的人,所以我就不能是一般人.』  B99.要学就学大数据 - B系列总纲   ...

  7. 大数据之学习成绩处理案例(一)

    大数据之学习成绩处理案例 来自学了两天python的NewBee-Yunzi的第一个案例总结: 这个案例学习如何处理数据表中的重复值,异常值,空值,空格,根据条件对值进行分级. 有这么个数据表: 学号 ...

  8. 2021年大数据Hive(一):​​​​​​​Hive基本概念

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 历史文章 前言 Hive基本概念 一.Hive介绍 1.什么是Hive 2.为什么使 ...

  9. 2018大数据培训学习路线图(详细完整版)

    2018大数据培训学习路线全课程目录+学习线路详解(详细完整版) 第一阶段:大数据基础Java语言基础阶段 1.1:Java开发介绍 1.1.1 Java的发展历史 1.1.2 Java的应用领域 1 ...

最新文章

  1. C++11中std::forward_list单向链表的使用
  2. 如何计算两个文档的相似度(一)
  3. php pdo 打印sql语句,php – 使用PDO准备SQL语句
  4. EL表达式中获取List中某个元素的值
  5. 常用算法 之二 牛顿迭代法求解PT100温度(高阶方程求解)
  6. LambdaNetworks解读
  7. 文博项目-终端网口测试-软件
  8. 荣耀 升级 鸿蒙,荣耀终于放出大招!4部荣耀旗舰可升级鸿蒙,网友:终于等到了...
  9. Ubuntu下安装Rabbitmq和golang环境
  10. php查询锁表情况,MySQL update where in 子查询导致锁表
  11. web 前端常用组件【04】Datetimepicker 和 Lodop
  12. python发音语言-python 利用pyttsx3文字转语音过程详解
  13. nodejs + echarts 图表展示
  14. 银行笔试题 java笔试题
  15. wkhtmltox使用(html转pdf或图片)
  16. C# Form窗体打开BIN文件并读取二进制数据
  17. 深度分析红米note9和华为nova8哪个好-红米note9和华为nova8区别
  18. info在python中的意思_为什么我没有在python中收到日志INFO消息?
  19. MeanShift算法理解
  20. 怎样自动以管理员身份运行bat文件?

热门文章

  1. 良心推荐:看完这 20 部 BBC 神级纪录片,英语水平提升几个 Level!
  2. 编写一个python程序判断用户输入的8位银行卡_用Python编写的程序,提示用户输入一个由7位数字组成的帐号?...
  3. iOS手机端日志打印显示工具
  4. 盛华软件工作室 -开张了
  5. 为什么那么多公司都选择灵活用工?
  6. web利用html2canvas实现截图上传图片
  7. [机器学习实战] 深度学习为黑白图像着彩色
  8. 虚拟机安装debian
  9. 苹果X可以升级5G吗_苹果分析师:2020 年的 iPhone 屏幕尺寸升级,还有 5G
  10. Node.js中的异步编程,个人理解及分化讲解