blob: 448b8f386b7ab809ab42c599a9b513c5f1031fba [file] [log] [blame]
buyingyicf48fb52012-11-02 00:31:31 +00001DROP TABLE lineitem;
2DROP TABLE part;
3DROP TABLE q17_small_quantity_order_revenue;
4DROP TABLE lineitem_tmp;
5
6-- create the tables and load the data
7create 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';
8create 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';
9
10-- create the result table
11create table q17_small_quantity_order_revenue (avg_yearly double);
12create table lineitem_tmp (t_partkey int, t_avg_quantity double);
13
14-- the query
15insert overwrite table lineitem_tmp
16select
17 l_partkey as t_partkey, 0.2 * avg(l_quantity) as t_avg_quantity
18from
19 lineitem
20group by l_partkey;
21
22insert overwrite table q17_small_quantity_order_revenue
23select
24 sum(l_extendedprice) / 7.0 as avg_yearly
25from
26 (select l_quantity, l_extendedprice, t_avg_quantity from
27 lineitem_tmp t join
28 (select
29 l_quantity, l_partkey, l_extendedprice
30 from
31 part p join lineitem l
32 on
33 p.p_partkey = l.l_partkey
34 and p.p_brand = 'Brand#23'
35 and p.p_container = 'MED BOX'
36 ) l1 on l1.l_partkey = t.t_partkey
37 ) a
38where l_quantity < t_avg_quantity;