| |
| CREATE TABLE staging.customer_transactions ( |
| customer_id INT NOT NULL, |
| order_id INT NOT NULL, |
| order_date DATE NOT NULL, |
| order_amount DECIMAL(18,2), |
| discount_amount DECIMAL(18,2), |
| payment_method VARCHAR(50), |
| created_at TIMESTAMP DEFAULT SYSDATE |
| ) |
| SEGMENTED BY HASH(customer_id) ALL NODES |
| ORDER BY customer_id, order_date; |
|
|
| |
| CREATE TABLE staging.customers ( |
| customer_id INT NOT NULL PRIMARY KEY, |
| customer_name VARCHAR(200), |
| email VARCHAR(200), |
| registration_date DATE, |
| country_code VARCHAR(3), |
| is_active INT DEFAULT 1 |
| ) |
| SEGMENTED BY HASH(customer_id) ALL NODES; |
|
|
| |
| CREATE TABLE analytics.customer_daily ( |
| customer_id INT NOT NULL, |
| activity_date DATE NOT NULL, |
| order_count INT, |
| total_spend DECIMAL(18,2), |
| last_order_date DATE, |
| avg_order_value DECIMAL(18,2), |
| customer_segment VARCHAR(20), |
| activity_status VARCHAR(20) |
| ) |
| SEGMENTED BY HASH(customer_id) ALL NODES |
| ORDER BY activity_date, customer_id; |
|
|