hive-学习汽车销售分析

–汽车销售日志分析–
show databases;
create database if not exists sale_db;
use sale_db ;
show tables;

–创建数据仓库
create external table car_table(
province string, --省份
months int, --月
city string, --市
district string, --区县
years int, --年
model string,–车辆型号
manufacturer string,–制造商
brand string, --品牌
vehicletype string,–车辆类型
ownership string,–所有权
nature string, --使用性质
quantity int,–数量
enginemodel string,–发动机型号
displacement int,–排量
powers 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 ‘/data/sale’
tblproperties(“skip.header.line.count”=“1”); --跳过文件行首1行;

SELECT * from car_table;
–处理空串与null
alter table car_table set serdeproperties(‘serialization.null.format’=‘’);
desc formatted car_table ;

–数据分析
–数据记录数 70640
SELECT count(*) from car_table ;

–乘用车辆(非营运)和商用车辆(非营运以外的)的销售数量和比例
SELECT
sum(if(t1.nature=‘非营运’,t1.sal_nums,0)) sycar_nums – 66478
, sum(if(t1.nature!=‘非营运’,t1.sal_nums,0)) cycar_nums – 3884
from (
SELECT
t.nature
, COUNT(*) sal_nums
from car_table t
where t.nature is not null
group by t.nature)t1 ;

–山西省2013年每个月的汽车销售数量比例
–1\10\11\12月份的销量比较高
SELECT
t.months
, count() months_nums
, (select count(
) from car_table where months is not null) years_nums
, round(count()/(select count() from car_table where months is not null),4)*100||‘%’ months_raits
from car_table t
where t.months is not NULL
group by t.months;

–买车的男女比例和男女对车的品牌的选择
SELECT
t.gender
, count()
, (select count(
) from car_table where gender = ‘男性’ or gender = ‘女性’) nv_nums
, round(count()/(select count() from car_table where gender = ‘男性’ or gender = ‘女性’),4)*100||‘%’ raite
from car_table t
where t.gender = ‘男性’ or t.gender = ‘女性’
group by t.gender;

SELECT
t.brand
, t.gender
, count()
from car_table t
where (t.gender = ‘男性’ or t.gender = ‘女性’) and t.brand is not null
group by t.brand , t.gender
order by count(
) desc;

–车的所有权,车辆型号,车辆类型
SELECT
t1.concat_str
, count()
from (
SELECT
concat(model,ownership,vehicletype) concat_str–t.model||t.ownership||t.vehicletype
from car_table t) t1
group by t1.concat_str
order by count(
) desc;

–不同车型在每个月的销售量
SELECT
t.months
, t.vehicletype
, count()
from car_table t
where t.vehicletype is not null and t.months is not null
group by t.months ,t.vehicletype
order by t.months ,count(
) desc;

–不同品牌车销售情况,统计发动机和燃料种类 前三全部是五菱
SELECT
t.brand, t.enginemodel, t.fuel,count()
from car_table t
where t.brand is not null and t.enginemodel is not null and t.fuel is not null
group by t.brand, t.enginemodel, t.fuel
order by count(
) desc;

–统计五菱某一年每月的销售量 仍然是1\10\11\12这几个月的销量比较好
SELECT
t.brand
, t.months
, count(*)
from car_table t
where t.brand = ‘五菱’
group by t.brand ,t.months

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于汽车销售的日志数据结果分析是如何实现的?本文将详细介绍分析流程、技术架构和应用案例。 一、数据采集 汽车销售的日志数据来源于销售系统。销售系统会记录每一次销售的时间、地点、销售额、销售员等信息。我们可以通过采集这些信息,建立一张销售日志表。 二、数据清洗 我们需要对采集到的数据进行清洗。清洗的目的是去除无用信息,过滤错误数据等。例如,我们需要过滤掉销售额为负数的记录,去掉销售员姓名中的空格和特殊字符等。 三、数据导入Hive 清洗后的数据需要导入到Hive表中,便于后续的数据分析Hive是一个基于Hadoop的数据仓库工具,可以将数据存储在HDFS上,并通过SQL语句进行查询和分析。在导入数据之前,需要先建立Hive表,定义好表的字段类型和分隔符等信息。例如: ``` CREATE TABLE car_sales_log( sale_time STRING, sale_location STRING, sale_amount DOUBLE, salesman_name STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; ``` 四、数据分析 基于导入到Hive中的数据,我们可以使用SQL语句进行数据分析。以下是一些示例查询: 1. 统计总销售额 ``` SELECT SUM(sale_amount) FROM car_sales_log; ``` 2. 按地区统计销售额 ``` SELECT sale_location, SUM(sale_amount) FROM car_sales_log GROUP BY sale_location; ``` 3. 按月份统计销售额 ``` SELECT substr(sale_time, 1, 7) AS month, SUM(sale_amount) FROM car_sales_log GROUP BY substr(sale_time, 1, 7); ``` 4. 统计每个销售员的销售额 ``` SELECT salesman_name, SUM(sale_amount) FROM car_sales_log GROUP BY salesman_name; ``` 五、数据可视化 数据分析的结果可以通过数据可视化的方式呈现出来,便于业务人员和管理人员对销售情况进行快速了解和决策。以下是一些常用的数据可视化工具: 1. Tableau:一款强大的商业智能工具,可以快速创建交互式的数据可视化报表。 2. Power BI:微软开发的商业智能工具,可以与多种数据源进行连接,支持实时数据分析和可视化。 3. Excel:虽然Excel不是专门的数据可视化工具,但它提供了图表制作和数据透视表等功能,可以用于快速创建简单的数据可视化报表。 六、应用案例 汽车销售的日志数据结果分析可以帮助企业了解销售情况,优化销售策略,提高销售效率。以下是一个实际的应用案例: 某汽车品牌在全国范围内销售汽车,希望了解不同地区的销售情况和趋势,以便优化销售策略。他们采集了销售系统的日志数据,并导入到Hive表中。通过对数据的分析,他们得出以下结论: 1. 华东地区销售额最高,占总销售额的40%以上。 2. 随着时间的推移,销售额呈现出逐年增长的趋势。 3. 在销售员中,张三的销售额最高,占总销售额的20%以上。 基于以上结论,该汽车品牌可以制定更精准的销售策略,例如增加在华东地区的市场投入,提高销售员的业绩等。 七、总结 基于汽车销售的日志数据结果分析,可以借助Hive进行数据分析和处理。通过对数据的采集、清洗、导入和分析,我们可以了解销售情况、优化销售策略、提高销售效率。数据可视化工具可以帮助我们将分析结果直观地呈现出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灯下夜无眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值