1. 程式人生 > >hive例項-乘用車輛和商用車輛銷售資料分析

hive例項-乘用車輛和商用車輛銷售資料分析

資料來源地址:http://pan.baidu.com/s/1cKsrKi

1.準備資料來源

開啟 上牌數--商用車銷量資料樣例.xlsx,另存為car.txt檔案,開啟car.txt,設定編碼格式為UTF-8,儲存並上傳至master節點。

2.建立car 資料庫,建立car表,並上傳資料

create external table cars(
province string, --省份
month int, --月
city string, --市 
county string, --區縣
year int, --年
cartype string,--車輛型號
productor string,--製造商
brand string, --品牌
mold string,--車輛型別
owner string,--所有權
nature string, --使用性質
number int,--數量
ftype string,--發動機型號
outv int,--排量
power double, --功率
fuel string,--燃料種類
length int,--車長
width int,--車寬
height int,--車高
xlength int,--廂長
xwidth int,--廂寬
xheight int,--廂高
count int,--軸數
base int,--軸距
front int,--前輪距
norm string,--輪胎規格
tnumber int,--輪胎數
total int,--總質量
curb int,--整備質量
hcurb int,--核定載質量
passenger string,--核定載客
zhcurb int,--準牽引質量
business string,--底盤企業
dtype string,--底盤品牌
fmold string,--底盤型號
fbusiness string,--發動機企業
name string,--車輛名稱
age int,--年齡
sex string --性別
)
row format delimited
fields terminated by '\t'
location '/cars';
使用以下命令為cars表匯入資料,並檢視匯入是否成功: hive> load data local inpath 'car.txt' into table cars;
Loading data to table car.cars
Table car.cars stats: [numFiles=0, totalSize=0]
OK
Time taken: 1.244 seconds
hive> select * from cars limit 2;
OK
山西省3朔州市朔城區2013LZW6450PF上汽通用五菱汽車股份有限公司五菱小型普通客車個人非營運 1L3C842479.0汽油449016151900NULLNULLNULL23050 1386175/70R14LT42110 1275NULL 7NULL 上汽通用五菱汽車股份有限公司客車1913男性
山西省3晉城市城區2013EQ6450PF1東風小康汽車有限公司東風小型普通客車個人非營運 1DK13-06 158774.0 汽油4500 16801960 NULLNULL NULL2 30501435 185R14LT 6PR419701290NULL7 NULL東風小康汽車有限公司EQ6440KMF重慶渝安淮海動力有限公司客車1929男性
Time taken: 0.178 seconds, Fetched: 2 row(s)
3.、 汽車行業市場分析:
3.1、 通過統計車輛不同用途的數量分佈
     select nature,count(number) from cars where nature!='' group by nature;      
3.2、 統計山西省 2013 年每個月的汽車銷售數量的比例
      select month,round(summon/sumcount,2)as per        from (select month,count(number) as summon from cars where        month is not null group by month) as a,       (select count(number) as sumcount from cars) as b;
        3.3、 統計山西省 2013 年各市、 區縣的汽車銷售的分佈 
      select city,county,count(number)as number from caars group bu sity,county;         4.使用者資料市場分析: 4.1統計買車的男女比例
       select sex,round((sumsex/sumcount),2) as sexper from
       (select sex,count(number) as sumsex from cars where sex!=''        group by sex) as a,        (select count(number) as sumcount from cars where  sex !='') as b;        
4.2
、 統計的車的所有權、 車輛型別和品牌的分佈
        select ower,mold,brand,count(number) as number from cars         group by ower,mold,brand;          5.不同車型銷售統計分析:
5.1、 統計不同品牌的車在每個月的銷售量分佈
        select brand,month,count(number) from cars where brand !='' and month != '' group by brand,month;         
5.2、 通過不同型別(品牌) 車銷售情況, 來統計發動機型號和燃料種類

        select brand,mold,collect_set(ftype),collect_set(fuel) from cars where brand is not null and brand != '' and mold is not null and mold != ''  group by brand,mold;