blob: ae2abec96af495e07bff07bd9c7d156288fbee49 [file] [log] [blame]
buyingyicf48fb52012-11-02 00:31:31 +00001DROP TABLE customer;
2DROP TABLE orders;
3DROP TABLE lineitem;
4DROP TABLE supplier;
5DROP TABLE nation;
6DROP TABLE region;
7DROP TABLE part;
8DROP TABLE q8_national_market_share;
9
10-- create the tables and load the data
11create 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';
12create external table customer (C_CUSTKEY INT, C_NAME STRING, C_ADDRESS STRING, C_NATIONKEY INT, C_PHONE STRING, C_ACCTBAL DOUBLE, C_MKTSEGMENT STRING, C_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION '/tpch/10/customer';
13Create 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';
14create external table orders (O_ORDERKEY INT, O_CUSTKEY INT, O_ORDERSTATUS STRING, O_TOTALPRICE DOUBLE, O_ORDERDATE STRING, O_ORDERPRIORITY STRING, O_CLERK STRING, O_SHIPPRIORITY INT, O_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION '/tpch/10/orders';
15create external table supplier (S_SUPPKEY INT, S_NAME STRING, S_ADDRESS STRING, S_NATIONKEY INT, S_PHONE STRING, S_ACCTBAL DOUBLE, S_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION '/tpch/10/supplier';
16create external table nation (N_NATIONKEY INT, N_NAME STRING, N_REGIONKEY INT, N_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION '/tpch/10/nation';
17create external table region (R_REGIONKEY INT, R_NAME STRING, R_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION '/tpch/10/region';
18
19-- create the result table
20create table q8_national_market_share(o_year string, mkt_share double);
21
22-- the query
23insert overwrite table q8_national_market_share
24select
25 o_year, sum(case when nation = 'BRAZIL' then volume else 0.0 end) / sum(volume) as mkt_share
26from
27 (
28select
29 year(o_orderdate) as o_year, l_extendedprice * (1-l_discount) as volume,
30 n2.n_name as nation
31 from
32 nation n2 join
33 (select o_orderdate, l_discount, l_extendedprice, s_nationkey
34 from supplier s join
35 (select o_orderdate, l_discount, l_extendedprice, l_suppkey
36 from part p join
37 (select o_orderdate, l_partkey, l_discount, l_extendedprice, l_suppkey
38 from lineitem l join
39 (select o_orderdate, o_orderkey
40 from orders o join
41 (select c.c_custkey
42 from customer c join
43 (select n1.n_nationkey
44 from nation n1 join region r
45 on n1.n_regionkey = r.r_regionkey and r.r_name = 'AMERICA'
46 ) n11 on c.c_nationkey = n11.n_nationkey
47 ) c1 on c1.c_custkey = o.o_custkey
48 ) o1 on l.l_orderkey = o1.o_orderkey and o1.o_orderdate >= '1995-01-01'
49 and o1.o_orderdate < '1996-12-31'
50 ) l1 on p.p_partkey = l1.l_partkey and p.p_type = 'ECONOMY ANODIZED STEEL'
51 ) p1 on s.s_suppkey = p1.l_suppkey
52 ) s1 on s1.s_nationkey = n2.n_nationkey
53 ) all_nation
54group by o_year
55order by o_year;
56