hive演示实验--销售数据
来源:互联网 发布:灰度数据像素 编辑:程序博客网 时间:2024/04/28 08:57
2:销售数据
//qryTheDate.txt文件定义了日期的分类,将每天分别赋予所属的月份、星期、季度等属性
//日期,年月,年,月,日,周几,第几周,季度,旬、半月
数据文件所在目录:
数据格式:
//qrytblStock.txt文件定义了订单表头
//订单号,交易位置,交易日期
/qryStockDetail.txt文件定义了订单明细
//订单号,行号,货品,数量,单价,金额
金额最好是decimal类型的数据,hive0.13支持这种类型,这里用int型。主要是后面shark中会用到这个数据。
A:创建数据库saledata,并定义三个表
hive> CREATE TABLE tblDate(dateID string,theyearmonth string,theyear string,themonth string,thedate string,theweek string,theweeks string,thequot string,thetenday string,thehalfmonth string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ;
hive> CREATE TABLE tblStock(ordernumber STRING,locationid STRING,dateID string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ;
hive> CREATE TABLE tblStockDetail(ordernumber STRING,rownum int,itemid STRING,qty INT,price int ,amount int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ;
三个表:
现在表中还没有数据,所以要先装载数据:
LOAD DATA LOCAL INPATH '/home/kaiseu/Downloads/week4/data/saledata/qryTheDate.txt' INTO TABLE tblDate;
LOAD DATA LOCAL INPATH '/home/kaiseu/Downloads/week4/data/saledata/qrytblStock.txt' INTO TABLE tblStock;
LOAD DATA LOCAL INPATH '/home/kaiseu/Downloads/week4/data/saledata/qryStockDetail.txt' INTO TABLE tblStockDetail;
B:查询其中的异常数据
//异常数据
select sum(b.amount) from tblStock a,tblStockDetail b where a.ordernumber=b.ordernumber;
select sum(b.amount) from tblStock a,tblStockDetail b,tbldate c where a.ordernumber=b.ordernumber and a.dateid=c.dateid;
select a.* from tblstock a where a.dateid not in (select dateid from tblDate);
C:所有订单中每年的销售单数、销售总额
select c.theyear,count(distinct a.ordernumber),sum(b.amount) from tblStock a,tblStockDetail b,tbldate c where a.ordernumber=b.ordernumber and a.dateid=c.dateid group by c.theyear order by c.theyear;
D:所有订单中季度销售额前10位
select c.theyear,c.thequot,sum(b.amount) as sumofamount from tblStock a,tblStockDetail b,tbldate c where a.ordernumber=b.ordernumber and a.dateid=c.dateid group by c.theyear,c.thequot order by sumofamount desc limit 10;
E:列出销售金额在100000以上的单据
select a.ordernumber,sum(b.amount) as sumofamount from tblStock a,tblStockDetail b where a.ordernumber=b.ordernumber group by a.ordernumber having sumofamount>100000;
F:所有订单每年最大金额订单的销售额
第一步:
select a.dateid,a.ordernumber,sum(b.amount) as sumofamount from tblStock a,tblStockDetail b where a.ordernumber=b.ordernumber group by a.dateid,a.ordernumber
第二步:
select c.theyear,max(d.sumofamount) from tbldate c,(select a.dateid,a.ordernumber,sum(b.amount) as sumofamount from tblStock a,tblStockDetail b where a.ordernumber=b.ordernumber group by a.dateid,a.ordernumber) d where c.dateid=d.dateid group by c.theyear sort by c.theyear;
G:所有订单中每年最畅销货品
第一步:
select c.theyear,b.itemid,sum(b.amount) as sumofamount from tblStock a,tblStockDetail b,tbldate c where a.ordernumber=b.ordernumber and a.dateid=c.dateid group by c.theyear,b.itemid;
第二步:
select d.theyear,max(d.sumofamount) as maxofamount from (select c.theyear,b.itemid,sum(b.amount) as sumofamount from tblStock a,tblStockDetail b,tbldate c where a.ordernumber=b.ordernumber and a.dateid=c.dateid group by c.theyear,b.itemid) d group by d.theyear ;
第三步:
select distinct e.theyear,e.itemid,f.maxofamount from (select c.theyear,b.itemid,sum(b.amount) as sumofamount from tblStock a,tblStockDetail b,tbldate c where a.ordernumber=b.ordernumber and a.dateid=c.dateid group by c.theyear,b.itemid) e , (select d.theyear,max(d.sumofamount) as maxofamount from (select c.theyear,b.itemid,sum(b.amount) as sumofamount from tblStock a,tblStockDetail b,tbldate c where a.ordernumber=b.ordernumber and a.dateid=c.dateid group by c.theyear,b.itemid) d group by d.theyear) f where e.theyear=f.theyear and e.sumofamount=f.maxofamount order by e.theyear;
- hive演示实验--销售数据
- hive演示实验--sogou日志数据
- hive演示
- hive演示
- hive实验
- hive示例演示
- hive实例-乘用车辆和商用车辆销售数据分析
- 抛物线演示实验
- 火车票销售系统改进实验
- Hive安装及使用演示
- 销售数据分析模型
- Hive UDF 实验1
- hive安装配置实验
- 熟悉Hive 实验1
- 熟悉Hive 实验2
- 实验 电流变液演示实验
- 利用sqoop将hive和mysql数据互导简单实验
- 销售王客户管理软件 v2006.12.003 个人演示版 下载
- Java String 压缩、解压缩
- Windows phone 8 ---Binding.Converter Property
- [kuangbin带你飞]专题四 最短路练习
- 十天学Linux内核之第九天---向内核添加代码
- Java 对象浅层clone()
- hive演示实验--销售数据
- C. Anya and Ghosts(Codeforces Round #288 (Div. 2))
- poj 线段相交+暴力枚举
- mysql 存储,索引
- jQuery 学习十四(工具函数)
- pack 布局参数
- Python核心编程 第三章
- Java并发编程实践笔记之-并发简史
- java调用shell脚本,并获得结果集的例子