blob: c0a87605961aa7774f5b38b8f68a929509da7f53 [file] [log] [blame]
---- Licensed to the Apache Software Foundation (ASF) under one
---- or more contributor license agreements. See the NOTICE file
---- distributed with this work for additional information
---- regarding copyright ownership. The ASF licenses this file
---- to you under the Apache License, Version 2.0 (the
---- "License"); you may not use this file except in compliance
---- with the License. You may obtain a copy of the License at
----
---- http://www.apache.org/licenses/LICENSE-2.0
----
---- Unless required by applicable law or agreed to in writing,
---- software distributed under the License is distributed on an
---- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
---- KIND, either express or implied. See the License for the
---- specific language governing permissions and limitations
---- under the License.
---- Template SQL statements to create and load TPCDS tables in KUDU.
---- TODO: Use range partitioning for some tables
---- TODO: Remove the 'kudu.master_addresses' from TBLPROPERTIES once CM properly sets
---- the 'kudu_masters' startup option in Impala.
---- TODO: Fix the primary key column order
---- TODO: Use different number of buckets for fact and dimension tables
---- STORE_SALES
CREATE TABLE IF NOT EXISTS {target_db_name}.store_sales (
ss_ticket_number BIGINT,
ss_item_sk BIGINT,
ss_sold_date_sk BIGINT,
ss_sold_time_sk BIGINT,
ss_customer_sk BIGINT,
ss_cdemo_sk BIGINT,
ss_hdemo_sk BIGINT,
ss_addr_sk BIGINT,
ss_store_sk BIGINT,
ss_promo_sk BIGINT,
ss_quantity BIGINT,
ss_wholesale_cost DECIMAL(7,2),
ss_list_price DECIMAL(7,2),
ss_sales_price DECIMAL(7,2),
ss_ext_discount_amt DECIMAL(7,2),
ss_ext_sales_price DECIMAL(7,2),
ss_ext_wholesale_cost DECIMAL(7,2),
ss_ext_list_price DECIMAL(7,2),
ss_ext_tax DECIMAL(7,2),
ss_coupon_amt DECIMAL(7,2),
ss_net_paid DECIMAL(7,2),
ss_net_paid_inc_tax DECIMAL(7,2),
ss_net_profit DECIMAL(7,2),
PRIMARY KEY (ss_ticket_number, ss_item_sk)
)
PARTITION BY HASH (ss_ticket_number,ss_item_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses' = '{kudu_master}:7051');
INSERT INTO {target_db_name}.store_sales
SELECT
ss_ticket_number,
ss_item_sk,
ss_sold_date_sk,
ss_sold_time_sk,
ss_customer_sk,
ss_cdemo_sk,
ss_hdemo_sk,
ss_addr_sk,
ss_store_sk,
ss_promo_sk,
ss_quantity,
ss_wholesale_cost,
ss_list_price,
ss_sales_price,
ss_ext_discount_amt,
ss_ext_sales_price,
ss_ext_wholesale_cost,
ss_ext_list_price,
ss_ext_tax,
ss_coupon_amt,
ss_net_paid,
ss_net_paid_inc_tax,ss_net_profit
FROM {source_db_name}.store_sales;
---- WEB_SALES
CREATE TABLE IF NOT EXISTS {target_db_name}.web_sales (
ws_order_number BIGINT,
ws_item_sk BIGINT,
ws_sold_date_sk BIGINT,
ws_sold_time_sk BIGINT,
ws_ship_date_sk BIGINT,
ws_bill_customer_sk BIGINT,
ws_bill_cdemo_sk BIGINT,
ws_bill_hdemo_sk BIGINT,
ws_bill_addr_sk BIGINT,
ws_ship_customer_sk BIGINT,
ws_ship_cdemo_sk BIGINT,
ws_ship_hdemo_sk BIGINT,
ws_ship_addr_sk BIGINT,
ws_web_page_sk BIGINT,
ws_web_site_sk BIGINT,
ws_ship_mode_sk BIGINT,
ws_warehouse_sk BIGINT,
ws_promo_sk BIGINT,
ws_quantity BIGINT,
ws_wholesale_cost DECIMAL(7,2),
ws_list_price DECIMAL(7,2),
ws_sales_price DECIMAL(7,2),
ws_ext_discount_amt DECIMAL(7,2),
ws_ext_sales_price DECIMAL(7,2),
ws_ext_wholesale_cost DECIMAL(7,2),
ws_ext_list_price DECIMAL(7,2),
ws_ext_tax DECIMAL(7,2),
ws_coupon_amt DECIMAL(7,2),
ws_ext_ship_cost DECIMAL(7,2),
ws_net_paid DECIMAL(7,2),
ws_net_paid_inc_tax DECIMAL(7,2),
ws_net_paid_inc_ship DECIMAL(7,2),
ws_net_paid_inc_ship_tax DECIMAL(7,2),
ws_net_profit DECIMAL(7,2),
PRIMARY KEY (ws_order_number, ws_item_sk)
)
PARTITION BY HASH (ws_order_number,ws_item_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses' = '{kudu_master}:7051');
INSERT INTO {target_db_name}.web_sales
SELECT
ws_order_number,
ws_item_sk,
ws_sold_date_sk,
ws_sold_time_sk,
ws_ship_date_sk,
ws_bill_customer_sk,
ws_bill_cdemo_sk,
ws_bill_hdemo_sk,
ws_bill_addr_sk,
ws_ship_customer_sk,
ws_ship_cdemo_sk,
ws_ship_hdemo_sk,
ws_ship_addr_sk,
ws_web_page_sk,
ws_web_site_sk,
ws_ship_mode_sk,
ws_warehouse_sk,
ws_promo_sk,
ws_quantity,
ws_wholesale_cost,
ws_list_price,
ws_sales_price,
ws_ext_discount_amt,
ws_ext_sales_price,
ws_ext_wholesale_cost,
ws_ext_list_price,
ws_ext_tax,
ws_coupon_amt,
ws_ext_ship_cost,
ws_net_paid,
ws_net_paid_inc_tax,
ws_net_paid_inc_ship,
ws_net_paid_inc_ship_tax,
ws_net_profit
FROM {source_db_name}.web_sales;
---- CATALOG_SALES
CREATE TABLE IF NOT EXISTS {target_db_name}.catalog_sales (
cs_order_number BIGINT,
cs_item_sk BIGINT,
cs_sold_date_sk BIGINT,
cs_sold_time_sk BIGINT,
cs_ship_date_sk BIGINT,
cs_bill_customer_sk BIGINT,
cs_bill_cdemo_sk BIGINT,
cs_bill_hdemo_sk BIGINT,
cs_bill_addr_sk BIGINT,
cs_ship_customer_sk BIGINT,
cs_ship_cdemo_sk BIGINT,
cs_ship_hdemo_sk BIGINT,
cs_ship_addr_sk BIGINT,
cs_call_center_sk BIGINT,
cs_catalog_page_sk BIGINT,
cs_ship_mode_sk BIGINT,
cs_warehouse_sk BIGINT,
cs_promo_sk BIGINT,
cs_quantity BIGINT,
cs_wholesale_cost DECIMAL(7,2),
cs_list_price DECIMAL(7,2),
cs_sales_price DECIMAL(7,2),
cs_ext_discount_amt DECIMAL(7,2),
cs_ext_sales_price DECIMAL(7,2),
cs_ext_wholesale_cost DECIMAL(7,2),
cs_ext_list_price DECIMAL(7,2),
cs_ext_tax DECIMAL(7,2),
cs_coupon_amt DECIMAL(7,2),
cs_ext_ship_cost DECIMAL(7,2),
cs_net_paid DECIMAL(7,2),
cs_net_paid_inc_tax DECIMAL(7,2),
cs_net_paid_inc_ship DECIMAL(7,2),
cs_net_paid_inc_ship_tax DECIMAL(7,2),
cs_net_profit DECIMAL(7,2),
PRIMARY KEY (cs_order_number, cs_item_sk)
)
PARTITION BY HASH (cs_order_number,cs_item_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses' = '{kudu_master}:7051');
INSERT INTO {target_db_name}.catalog_sales
SELECT
cs_order_number,
cs_item_sk,
cs_sold_date_sk,
cs_sold_time_sk,
cs_ship_date_sk,
cs_bill_customer_sk,
cs_bill_cdemo_sk,
cs_bill_hdemo_sk,
cs_bill_addr_sk,
cs_ship_customer_sk,
cs_ship_cdemo_sk,
cs_ship_hdemo_sk,
cs_ship_addr_sk,
cs_call_center_sk,
cs_catalog_page_sk,
cs_ship_mode_sk,
cs_warehouse_sk,
cs_promo_sk,
cs_quantity,
cs_wholesale_cost,
cs_list_price,
cs_sales_price,
cs_ext_discount_amt,
cs_ext_sales_price,
cs_ext_wholesale_cost,
cs_ext_list_price,
cs_ext_tax,
cs_coupon_amt,
cs_ext_ship_cost,
cs_net_paid,
cs_net_paid_inc_tax,
cs_net_paid_inc_ship,
cs_net_paid_inc_ship_tax,
cs_net_profit
FROM {source_db_name}.catalog_sales;
---- STORE_RETURNS
CREATE TABLE IF NOT EXISTS {target_db_name}.store_returns (
sr_ticket_number BIGINT,
sr_item_sk BIGINT,
sr_returned_date_sk BIGINT,
sr_return_time_sk BIGINT,
sr_customer_sk BIGINT,
sr_cdemo_sk BIGINT,
sr_hdemo_sk BIGINT,
sr_addr_sk BIGINT,
sr_store_sk BIGINT,
sr_reason_sk BIGINT,
sr_return_quantity BIGINT,
sr_return_amt DECIMAL(7,2),
sr_return_tax DECIMAL(7,2),
sr_return_amt_inc_tax DECIMAL(7,2),
sr_fee DECIMAL(7,2),
sr_return_ship_cost DECIMAL(7,2),
sr_refunded_cash DECIMAL(7,2),
sr_reversed_charge DECIMAL(7,2),
sr_store_credit DECIMAL(7,2),
sr_net_loss DECIMAL(7,2),
PRIMARY KEY (sr_ticket_number, sr_item_sk)
)
PARTITION BY HASH (sr_ticket_number,sr_item_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.store_returns
SELECT
sr_ticket_number,
sr_item_sk,
sr_returned_date_sk,
sr_return_time_sk,
sr_customer_sk,
sr_cdemo_sk,
sr_hdemo_sk,
sr_addr_sk,
sr_store_sk,
sr_reason_sk,
sr_return_quantity,
sr_return_amt,
sr_return_tax,
sr_return_amt_inc_tax,
sr_fee,
sr_return_ship_cost,
sr_refunded_cash,
sr_reversed_charge,
sr_store_credit,
sr_net_loss
FROM {source_db_name}.store_returns;
---- WEB_RETURNS
CREATE TABLE IF NOT EXISTS {target_db_name}.web_returns (
wr_order_number BIGINT,
wr_item_sk BIGINT,
wr_returned_date_sk BIGINT,
wr_returned_time_sk BIGINT,
wr_refunded_customer_sk BIGINT,
wr_refunded_cdemo_sk BIGINT,
wr_refunded_hdemo_sk BIGINT,
wr_refunded_addr_sk BIGINT,
wr_returning_customer_sk BIGINT,
wr_returning_cdemo_sk BIGINT,
wr_returning_hdemo_sk BIGINT,
wr_returning_addr_sk BIGINT,
wr_web_page_sk BIGINT,
wr_reason_sk BIGINT,
wr_return_quantity BIGINT,
wr_return_amt DECIMAL(7,2),
wr_return_tax DECIMAL(7,2),
wr_return_amt_inc_tax DECIMAL(7,2),
wr_fee DECIMAL(7,2),
wr_return_ship_cost DECIMAL(7,2),
wr_refunded_cash DECIMAL(7,2),
wr_reversed_charge DECIMAL(7,2),
wr_account_credit DECIMAL(7,2),
wr_net_loss DECIMAL(7,2),
PRIMARY KEY (wr_order_number, wr_item_sk)
)
PARTITION BY HASH (wr_order_number,wr_item_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.web_returns
SELECT
wr_order_number,
wr_item_sk,
wr_returned_date_sk,
wr_returned_time_sk,
wr_refunded_customer_sk,
wr_refunded_cdemo_sk,
wr_refunded_hdemo_sk,
wr_refunded_addr_sk,
wr_returning_customer_sk,
wr_returning_cdemo_sk,
wr_returning_hdemo_sk,
wr_returning_addr_sk,
wr_web_page_sk,
wr_reason_sk,
wr_return_quantity,
wr_return_amt,
wr_return_tax,
wr_return_amt_inc_tax,
wr_fee,
wr_return_ship_cost,
wr_refunded_cash,
wr_reversed_charge,
wr_account_credit,
wr_net_loss
FROM {source_db_name}.web_returns;
---- CATALOG_RETURNS
CREATE TABLE IF NOT EXISTS {target_db_name}.catalog_returns (
cr_order_number BIGINT,
cr_item_sk BIGINT,
cr_returned_date_sk BIGINT,
cr_returned_time_sk BIGINT,
cr_refunded_customer_sk BIGINT,
cr_refunded_cdemo_sk BIGINT,
cr_refunded_hdemo_sk BIGINT,
cr_refunded_addr_sk BIGINT,
cr_returning_customer_sk BIGINT,
cr_returning_cdemo_sk BIGINT,
cr_returning_hdemo_sk BIGINT,
cr_returning_addr_sk BIGINT,
cr_call_center_sk BIGINT,
cr_catalog_page_sk BIGINT,
cr_ship_mode_sk BIGINT,
cr_warehouse_sk BIGINT,
cr_reason_sk BIGINT,
cr_return_quantity BIGINT,
cr_return_amount DECIMAL(7,2),
cr_return_tax DECIMAL(7,2),
cr_return_amt_inc_tax DECIMAL(7,2),
cr_fee DECIMAL(7,2),
cr_return_ship_cost DECIMAL(7,2),
cr_refunded_cash DECIMAL(7,2),
cr_reversed_charge DECIMAL(7,2),
cr_store_credit DECIMAL(7,2),
cr_net_loss DECIMAL(7,2),
PRIMARY KEY (cr_order_number, cr_item_sk)
)
PARTITION BY HASH (cr_order_number,cr_item_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.catalog_returns
SELECT
cr_order_number,
cr_item_sk,
cr_returned_date_sk,
cr_returned_time_sk,
cr_refunded_customer_sk,
cr_refunded_cdemo_sk,
cr_refunded_hdemo_sk,
cr_refunded_addr_sk,
cr_returning_customer_sk,
cr_returning_cdemo_sk,
cr_returning_hdemo_sk,
cr_returning_addr_sk,
cr_call_center_sk,
cr_catalog_page_sk,
cr_ship_mode_sk,
cr_warehouse_sk,
cr_reason_sk,
cr_return_quantity,
cr_return_amount,
cr_return_tax,
cr_return_amt_inc_tax,
cr_fee,
cr_return_ship_cost,
cr_refunded_cash,
cr_reversed_charge,
cr_store_credit,
cr_net_loss
FROM {source_db_name}.catalog_returns;
---- INVENTORY
CREATE TABLE IF NOT EXISTS {target_db_name}.inventory (
inv_date_sk BIGINT,
inv_item_sk BIGINT,
inv_warehouse_sk BIGINT,
inv_quantity_on_hand BIGINT,
PRIMARY KEY (inv_date_sk, inv_item_sk, inv_warehouse_sk)
)
PARTITION BY HASH (inv_item_sk,inv_date_sk,inv_warehouse_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.inventory SELECT * FROM {source_db_name}.inventory;
---- CUSTOMER
CREATE TABLE {target_db_name}.customer (
c_customer_sk BIGINT PRIMARY KEY,
c_customer_id STRING,
c_current_cdemo_sk BIGINT,
c_current_hdemo_sk BIGINT,
c_current_addr_sk BIGINT,
c_first_shipto_date_sk BIGINT,
c_first_sales_date_sk BIGINT,
c_salutation STRING,
c_first_name STRING,
c_last_name STRING,
c_preferred_cust_flag STRING,
c_birth_day INT,
c_birth_month INT,
c_birth_year INT,
c_birth_country STRING,
c_login STRING,
c_email_address STRING,
c_last_review_date STRING
)
PARTITION BY HASH (c_customer_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.customer SELECT * FROM {source_db_name}.customer;
---- CUSTOMER_ADDRESS
CREATE TABLE IF NOT EXISTS {target_db_name}.customer_address (
ca_address_sk BIGINT PRIMARY KEY,
ca_address_id STRING,
ca_street_number STRING,
ca_street_name STRING,
ca_street_type STRING,
ca_suite_number STRING,
ca_city STRING,
ca_county STRING,
ca_state STRING,
ca_zip STRING,
ca_country STRING,
ca_gmt_offset DECIMAL(5,2),
ca_location_type STRING
)
PARTITION BY HASH (ca_address_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.customer_address
SELECT * FROM {source_db_name}.customer_address;
---- CUSTOMER_DEMOGRAPHICS
CREATE TABLE IF NOT EXISTS {target_db_name}.customer_demographics (
cd_demo_sk BIGINT PRIMARY KEY,
cd_gender STRING,
cd_marital_status STRING,
cd_education_status STRING,
cd_purchase_estimate BIGINT,
cd_credit_rating STRING,
cd_dep_count BIGINT,
cd_dep_employed_count BIGINT,
cd_dep_college_count BIGINT
)
PARTITION BY HASH (cd_demo_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.customer_demographics
SELECT * FROM {source_db_name}.customer_demographics;
---- DATE_DIM
CREATE TABLE IF NOT EXISTS {target_db_name}.date_dim (
d_date_sk BIGINT PRIMARY KEY,
d_date_id STRING,
d_date STRING,
d_month_seq BIGINT,
d_week_seq BIGINT,
d_quarter_seq BIGINT,
d_year BIGINT,
d_dow BIGINT,
d_moy BIGINT,
d_dom BIGINT,
d_qoy BIGINT,
d_fy_year BIGINT,
d_fy_quarter_seq BIGINT,
d_fy_week_seq BIGINT,
d_day_name STRING,
d_quarter_name STRING,
d_holiday STRING,
d_weekend STRING,
d_following_holiday STRING,
d_first_dom BIGINT,
d_last_dom BIGINT,
d_same_day_ly BIGINT,
d_same_day_lq BIGINT,
d_current_day STRING,
d_current_week STRING,
d_current_month STRING,
d_current_quarter STRING,
d_current_year STRING
)
PARTITION BY HASH (d_date_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.date_dim SELECT * FROM {source_db_name}.date_dim;
---- HOUSEHOLD_DEMOGRAPHICS
CREATE TABLE IF NOT EXISTS {target_db_name}.household_demographics (
hd_demo_sk BIGINT PRIMARY KEY,
hd_income_band_sk BIGINT,
hd_buy_potential STRING,
hd_dep_count BIGINT,
hd_vehicle_count BIGINT
)
PARTITION BY HASH (hd_demo_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.household_demographics
SELECT * FROM {source_db_name}.household_demographics;
---- ITEM
CREATE TABLE IF NOT EXISTS {target_db_name}.item (
i_item_sk BIGINT PRIMARY KEY,
i_item_id STRING,
i_rec_start_date STRING,
i_rec_end_date STRING,
i_item_desc STRING,
i_current_price DECIMAL(7,2),
i_wholesale_cost DECIMAL(7,2),
i_brand_id BIGINT,
i_brand STRING,
i_class_id BIGINT,
i_class STRING,
i_category_id BIGINT,
i_category STRING,
i_manufact_id BIGINT,
i_manufact STRING,
i_size STRING,
i_formulation STRING,
i_color STRING,
i_units STRING,
i_container STRING,
i_manager_id BIGINT,
i_product_name STRING
)
PARTITION BY HASH (i_item_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.item SELECT * FROM {source_db_name}.item;
---- PROMOTION
CREATE TABLE IF NOT EXISTS {target_db_name}.promotion (
p_promo_sk BIGINT PRIMARY KEY,
p_item_sk BIGINT,
p_start_date_sk BIGINT,
p_end_date_sk BIGINT,
p_promo_id STRING,
p_cost DECIMAL(15,2),
p_response_target BIGINT,
p_promo_name STRING,
p_channel_dmail STRING,
p_channel_email STRING,
p_channel_catalog STRING,
p_channel_tv STRING,
p_channel_radio STRING,
p_channel_press STRING,
p_channel_event STRING,
p_channel_demo STRING,
p_channel_details STRING,
p_purpose STRING,
p_discount_active STRING
)
PARTITION BY HASH (p_promo_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.promotion
SELECT
p_promo_sk,
p_item_sk,
p_start_date_sk,
p_end_date_sk,
p_promo_id,
p_cost,
p_response_target,
p_promo_name,
p_channel_dmail,
p_channel_email,
p_channel_catalog,
p_channel_tv,
p_channel_radio,
p_channel_press,
p_channel_event,
p_channel_demo,
p_channel_details,
p_purpose,
p_discount_active
FROM {source_db_name}.promotion;
---- STORE
CREATE TABLE IF NOT EXISTS {target_db_name}.store (
s_store_sk BIGINT PRIMARY KEY,
s_store_id STRING,
s_rec_start_date STRING,
s_rec_end_date STRING,
s_closed_date_sk BIGINT,
s_store_name STRING,
s_number_employees BIGINT,
s_floor_space BIGINT,
s_hours STRING,
s_manager STRING,
s_market_id BIGINT,
s_geography_class STRING,
s_market_desc STRING,
s_market_manager STRING,
s_division_id BIGINT,
s_division_name STRING,
s_company_id BIGINT,
s_company_name STRING,
s_street_number STRING,
s_street_name STRING,
s_street_type STRING,
s_suite_number STRING,
s_city STRING,
s_county STRING,
s_state STRING,
s_zip STRING,
s_country STRING,
s_gmt_offset DECIMAL(5,2),
s_tax_precentage DECIMAL(5,2)
)
PARTITION BY HASH (s_store_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.store SELECT * FROM {source_db_name}.store;
---- TIME_DIM
CREATE TABLE IF NOT EXISTS {target_db_name}.time_dim (
t_time_sk BIGINT PRIMARY KEY,
t_time_id STRING,
t_time BIGINT,
t_hour BIGINT,
t_minute BIGINT,
t_second BIGINT,
t_am_pm STRING,
t_shift STRING,
t_sub_shift STRING,
t_meal_time STRING
)
PARTITION BY HASH (t_time_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.time_dim SELECT * FROM {source_db_name}.time_dim;
---- CALL_CENTER
CREATE TABLE IF NOT EXISTS {target_db_name}.call_center (
cc_call_center_sk BIGINT PRIMARY KEY,
cc_call_center_id STRING,
cc_rec_start_date STRING,
cc_rec_end_date STRING,
cc_closed_date_sk BIGINT,
cc_open_date_sk BIGINT,
cc_name STRING,
cc_class STRING,
cc_employees BIGINT,
cc_sq_ft BIGINT,
cc_hours STRING,
cc_manager STRING,
cc_mkt_id BIGINT,
cc_mkt_class STRING,
cc_mkt_desc STRING,
cc_market_manager STRING,
cc_division BIGINT,
cc_division_name STRING,
cc_company BIGINT,
cc_company_name STRING,
cc_street_number STRING,
cc_street_name STRING,
cc_street_type STRING,
cc_suite_number STRING,
cc_city STRING,
cc_county STRING,
cc_state STRING,
cc_zip STRING,
cc_country STRING,
cc_gmt_offset DECIMAL(5,2),
cc_tax_percentage DECIMAL(5,2)
)
PARTITION BY HASH (cc_call_center_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.call_center SELECT * FROM {source_db_name}.call_center;
---- CATALOG_PAGE
CREATE TABLE IF NOT EXISTS {target_db_name}.catalog_page (
cp_catalog_page_sk BIGINT PRIMARY KEY,
cp_catalog_page_id STRING,
cp_start_date_sk BIGINT,
cp_end_date_sk BIGINT,
cp_department STRING,
cp_catalog_number BIGINT,
cp_catalog_page_number BIGINT,
cp_description STRING,
cp_type STRING
)
PARTITION BY HASH (cp_catalog_page_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.catalog_page SELECT * FROM {source_db_name}.catalog_page;
---- INCOME_BANDS
CREATE TABLE IF NOT EXISTS {target_db_name}.income_band (
ib_income_band_sk BIGINT PRIMARY KEY,
ib_lower_bound BIGINT,
ib_upper_bound BIGINT
)
PARTITION BY HASH (ib_income_band_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.income_band SELECT * FROM {source_db_name}.income_band;
---- SHIP_MODE
CREATE TABLE IF NOT EXISTS {target_db_name}.ship_mode (
sm_ship_mode_sk BIGINT PRIMARY KEY,
sm_ship_mode_id STRING,
sm_type STRING,
sm_code STRING,
sm_carrier STRING,
sm_contract STRING
)
PARTITION BY HASH (sm_ship_mode_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.ship_mode SELECT * FROM {source_db_name}.ship_mode;
---- WAREHOUSE
CREATE TABLE IF NOT EXISTS {target_db_name}.warehouse (
w_warehouse_sk BIGINT PRIMARY KEY,
w_warehouse_id STRING,
w_warehouse_name STRING,
w_warehouse_sq_ft BIGINT,
w_street_number STRING,
w_street_name STRING,
w_street_type STRING,
w_suite_number STRING,
w_city STRING,
w_county STRING,
w_state STRING,
w_zip STRING,
w_country STRING,
w_gmt_offset DECIMAL(5,2)
)
PARTITION BY HASH (w_warehouse_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.warehouse SELECT * FROM {source_db_name}.warehouse;
---- WEB_PAGE
CREATE TABLE IF NOT EXISTS {target_db_name}.web_page (
wp_web_page_sk BIGINT PRIMARY KEY,
wp_web_page_id STRING,
wp_rec_start_date STRING,
wp_rec_end_date STRING,
wp_creation_date_sk BIGINT,
wp_access_date_sk BIGINT,
wp_autogen_flag STRING,
wp_customer_sk BIGINT,
wp_url STRING,
wp_type STRING,
wp_char_count BIGINT,
wp_link_count BIGINT,
wp_image_count BIGINT,
wp_max_ad_count BIGINT
)
PARTITION BY HASH (wp_web_page_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.web_page SELECT * FROM {source_db_name}.web_page;
---- WEB_SITE
CREATE TABLE IF NOT EXISTS {target_db_name}.web_site (
web_site_sk BIGINT PRIMARY KEY,
web_site_id STRING,
web_rec_start_date STRING,
web_rec_end_date STRING,
web_name STRING,
web_open_date_sk BIGINT,
web_close_date_sk BIGINT,
web_class STRING,
web_manager STRING,
web_mkt_id BIGINT,
web_mkt_class STRING,
web_mkt_desc STRING,
web_market_manager STRING,
web_company_id BIGINT,
web_company_name STRING,
web_street_number STRING,
web_street_name STRING,
web_street_type STRING,
web_suite_number STRING,
web_city STRING,
web_county STRING,
web_state STRING,
web_zip STRING,
web_country STRING,
web_gmt_offset DECIMAL(5,2),
web_tax_percentage DECIMAL(5,2)
)
PARTITION BY HASH (web_site_sk) PARTITIONS {buckets}
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='{kudu_master}:7051');
INSERT INTO {target_db_name}.web_site SELECT * FROM {source_db_name}.web_site;
---- COMPUTE STATS
compute stats {target_db_name}.call_center;
compute stats {target_db_name}.catalog_page;
compute stats {target_db_name}.catalog_returns;
compute stats {target_db_name}.catalog_sales;
compute stats {target_db_name}.customer;
compute stats {target_db_name}.customer_address;
compute stats {target_db_name}.customer_demographics;
compute stats {target_db_name}.date_dim;
compute stats {target_db_name}.household_demographics;
compute stats {target_db_name}.income_band;
compute stats {target_db_name}.inventory;
compute stats {target_db_name}.item;
compute stats {target_db_name}.reason;
compute stats {target_db_name}.ship_mode;
compute stats {target_db_name}.store;
compute stats {target_db_name}.store_returns;
compute stats {target_db_name}.store_sales;
compute stats {target_db_name}.time_dim;
compute stats {target_db_name}.warehouse;
compute stats {target_db_name}.web_page;
compute stats {target_db_name}.web_returns;
compute stats {target_db_name}.web_sales;
compute stats {target_db_name}.web_site;
compute stats {target_db_name}.promotion;