blob: a7ea773cff5f758ff4026442c3735abde164aa36 [file] [log] [blame]
buyingyic73348c2012-11-02 00:31:31 +00001DROP TABLE lineitem;
2DROP TABLE part;
3DROP TABLE q14_promotion_effect;
4
5-- create the tables and load the data
6create external table lineitem (L_ORDERKEY INT, L_PARTKEY INT, L_SUPPKEY INT, L_LINENUMBER INT, L_QUANTITY DOUBLE, L_EXTENDEDPRICE DOUBLE, L_DISCOUNT DOUBLE, L_TAX DOUBLE, L_RETURNFLAG STRING, L_LINESTATUS STRING, L_SHIPDATE STRING, L_COMMITDATE STRING, L_RECEIPTDATE STRING, L_SHIPINSTRUCT STRING, L_SHIPMODE STRING, L_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION '/tpch/10/lineitem';
7create external table part (P_PARTKEY INT, P_NAME STRING, P_MFGR STRING, P_BRAND STRING, P_TYPE STRING, P_SIZE INT, P_CONTAINER STRING, P_RETAILPRICE DOUBLE, P_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION '/tpch/10/part';
8
9-- create the result table
10create table q14_promotion_effect(promo_revenue double);
11
12set mapred.min.split.size=536870912;
13set hive.exec.reducers.bytes.per.reducer=1040000000;
14
15-- the query
16insert overwrite table q14_promotion_effect
17select
18 100.00 * sum(case
19 when p_type like 'PROMO%'
20 then l_extendedprice*(1-l_discount)
21 else 0.0
22 end
23 ) / sum(l_extendedprice * (1 - l_discount)) as promo_revenue
24from
25 part p join lineitem l
26 on
27 l.l_partkey = p.p_partkey and l.l_shipdate >= '1995-09-01' and l.l_shipdate < '1995-10-01';
28