forked from oracle/heatwave-tpch
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcreate_tables_lakehouse.sql
160 lines (134 loc) · 6.26 KB
/
create_tables_lakehouse.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
-- Copyright (c) 2022, Oracle and/or its affiliates.
-- Licensed under the Universal Permissive License v 1.0 as shown as https://oss.oracle.com/licences/upl
-- Copyright (c) 2022, Transaction Processing Performance Council
-- using database tpch_1024 as an example
-- ascii_bin character set and collation used for benchmarking performance
create database tpch_1024;
alter database tpch_1024 CHARACTER SET ascii COLLATE ascii_bin;
use tpch_1024;
-- Create lakehouse tables - source data in OCI object store
CREATE TABLE LINEITEM ( L_ORDERKEY BIGINT NOT NULL,
L_PARTKEY INTEGER NOT NULL,
L_SUPPKEY INTEGER NOT NULL,
L_LINENUMBER INTEGER NOT NULL,
L_QUANTITY DECIMAL(15,2) NOT NULL,
L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL,
L_DISCOUNT DECIMAL(15,2) NOT NULL,
L_TAX DECIMAL(15,2) NOT NULL,
L_RETURNFLAG CHAR(1) NOT NULL,
L_LINESTATUS CHAR(1) NOT NULL,
L_SHIPDATE DATE NOT NULL,
L_COMMITDATE DATE NOT NULL,
L_RECEIPTDATE DATE NOT NULL,
L_SHIPINSTRUCT CHAR(25) NOT NULL,
L_SHIPMODE CHAR(10) NOT NULL,
L_COMMENT VARCHAR(44) NOT NULL,
PRIMARY KEY (L_ORDERKEY, L_LINENUMBER))
ENGINE=lakehouse
secondary_engine=rapid
ENGINE_ATTRIBUTE='{"file":
[{"region":"<region>",
"namespace":"<namespace>",
"bucket":"<bucket_name>",
"name":"<lineitem_file_location>"}]}';
CREATE TABLE ORDERS ( O_ORDERKEY BIGINT NOT NULL,
O_CUSTKEY INTEGER NOT NULL,
O_ORDERSTATUS CHAR(1) NOT NULL,
O_TOTALPRICE DECIMAL(15,2) NOT NULL,
O_ORDERDATE DATE NOT NULL,
O_ORDERPRIORITY CHAR(15) NOT NULL,
O_CLERK CHAR(15) NOT NULL,
O_SHIPPRIORITY INTEGER NOT NULL,
O_COMMENT VARCHAR(79) NOT NULL,
PRIMARY KEY (O_ORDERKEY))
ENGINE=lakehouse
secondary_engine=rapid
ENGINE_ATTRIBUTE='{"file":
[{"region":"<region>",
"namespace":"<namespace>",
"bucket":"<bucket_name>",
"name":"<orders_file_location>"}]}';
create table CUSTOMER ( C_CUSTKEY INTEGER NOT NULL,
C_NAME VARCHAR(25) NOT NULL,
C_ADDRESS VARCHAR(40) NOT NULL,
C_NATIONKEY INTEGER NOT NULL,
C_PHONE CHAR(15) NOT NULL,
C_ACCTBAL DECIMAL(15,2) NOT NULL,
C_MKTSEGMENT CHAR(10) NOT NULL,
C_COMMENT VARCHAR(117) NOT NULL,
PRIMARY KEY (C_CUSTKEY))
ENGINE=lakehouse
secondary_engine=rapid
ENGINE_ATTRIBUTE='{"file":
[{"region":"<region>",
"namespace":"<namespace>",
"bucket":"<bucket_name>",
"name":"<customer_file_location>"}]}';
CREATE TABLE SUPPLIER ( S_SUPPKEY INTEGER NOT NULL,
S_NAME CHAR(25) NOT NULL,
S_ADDRESS VARCHAR(40) NOT NULL,
S_NATIONKEY INTEGER NOT NULL,
S_PHONE CHAR(15) NOT NULL,
S_ACCTBAL DECIMAL(15,2) NOT NULL,
S_COMMENT VARCHAR(101) NOT NULL,
PRIMARY KEY (S_SUPPKEY))
ENGINE=lakehouse
secondary_engine=rapid
ENGINE_ATTRIBUTE='{"file":
[{"region":"<region>",
"namespace":"<namespace>",
"bucket":"<bucket_name>",
"name":"<supplier_file_location>"}]}';
CREATE TABLE NATION ( N_NATIONKEY INTEGER NOT NULL,
N_NAME CHAR(25) NOT NULL,
N_REGIONKEY INTEGER NOT NULL,
N_COMMENT VARCHAR(152) NOT NULL,
PRIMARY KEY (N_NATIONKEY))
ENGINE=lakehouse
secondary_engine=rapid
ENGINE_ATTRIBUTE='{"file":
[{"region":"<region>",
"namespace":"<namespace>",
"bucket":"<bucket_name>",
"name":"<nation_file_location>"}]}';
CREATE TABLE REGION ( R_REGIONKEY INTEGER NOT NULL,
R_NAME CHAR(25) NOT NULL,
R_COMMENT VARCHAR(152) NOT NULL,
PRIMARY KEY (R_REGIONKEY))
ENGINE=lakehouse
secondary_engine=rapid
ENGINE_ATTRIBUTE='{"file":
[{"region":"<region>",
"namespace":"<namespace>",
"bucket":"<bucket_name>",
"name":"<region_file_location>"}]}';
CREATE TABLE PART ( P_PARTKEY INTEGER NOT NULL,
P_NAME VARCHAR(55) NOT NULL,
P_MFGR CHAR(25) NOT NULL,
P_BRAND CHAR(10) NOT NULL,
P_TYPE VARCHAR(25) NOT NULL,
P_SIZE INTEGER NOT NULL,
P_CONTAINER CHAR(10) NOT NULL,
P_RETAILPRICE DECIMAL(15,2) NOT NULL,
P_COMMENT VARCHAR(23) NOT NULL,
PRIMARY KEY (P_PARTKEY))
ENGINE=lakehouse
secondary_engine=rapid
ENGINE_ATTRIBUTE='{"file":
[{"region":"<region>",
"namespace":"<namespace>",
"bucket":"<bucket_name>",
"name":"<part_file_location>"}]}';
CREATE TABLE PARTSUPP ( PS_PARTKEY INTEGER NOT NULL,
PS_SUPPKEY INTEGER NOT NULL,
PS_AVAILQTY INTEGER NOT NULL,
PS_SUPPLYCOST DECIMAL(15,2) NOT NULL,
PS_COMMENT VARCHAR(199) NOT NULL,
PRIMARY KEY (PS_PARTKEY, PS_SUPPKEY))
ENGINE=lakehouse
secondary_engine=rapid
ENGINE_ATTRIBUTE='{"file":
[{"region":"<region>",
"namespace":"<namespace>",
"bucket":"<bucket_name>",
"name":"<partsupp_file_location>"}]}';