90 lines
2.2 KiB
SQL
90 lines
2.2 KiB
SQL
DROP TABLE IF EXISTS dsolovianov.core_fact_lesson_views ON CLUSTER clickhouse_cluster SYNC;
|
|
DROP TABLE IF EXISTS dsolovianov.core_dim_user ON CLUSTER clickhouse_cluster SYNC;
|
|
DROP TABLE IF EXISTS dsolovianov.core_dim_course ON CLUSTER clickhouse_cluster SYNC;
|
|
DROP TABLE IF EXISTS dsolovianov.core_dim_lesson ON CLUSTER clickhouse_cluster SYNC;
|
|
DROP TABLE IF EXISTS dsolovianov.core_dim_date ON CLUSTER clickhouse_cluster SYNC;
|
|
DROP TABLE IF EXISTS dsolovianov.core_enrollments ON CLUSTER clickhouse_cluster SYNC;
|
|
|
|
CREATE TABLE dsolovianov.core_dim_user
|
|
ON CLUSTER clickhouse_cluster
|
|
(
|
|
user_id Int32,
|
|
name String,
|
|
age Int32,
|
|
email String,
|
|
registration_date Date
|
|
)
|
|
ENGINE = ReplicatedMergeTree(
|
|
'/clickhouse/tables/{shard}/dsolovianov/core_dim_user',
|
|
'{replica}'
|
|
)
|
|
ORDER BY user_id;
|
|
|
|
CREATE TABLE dsolovianov.core_dim_course
|
|
ON CLUSTER clickhouse_cluster
|
|
(
|
|
course_id Int32,
|
|
title String,
|
|
category String
|
|
)
|
|
ENGINE = ReplicatedMergeTree(
|
|
'/clickhouse/tables/{shard}/dsolovianov/core_dim_course',
|
|
'{replica}'
|
|
)
|
|
ORDER BY course_id;
|
|
|
|
CREATE TABLE dsolovianov.core_dim_lesson
|
|
ON CLUSTER clickhouse_cluster
|
|
(
|
|
lesson_id Int32,
|
|
title String,
|
|
duration_min Int32,
|
|
course_id Int32
|
|
)
|
|
ENGINE = ReplicatedMergeTree(
|
|
'/clickhouse/tables/{shard}/dsolovianov/core_dim_lesson',
|
|
'{replica}'
|
|
)
|
|
ORDER BY lesson_id;
|
|
|
|
CREATE TABLE dsolovianov.core_dim_date
|
|
ON CLUSTER clickhouse_cluster
|
|
(
|
|
date Date,
|
|
year Int32,
|
|
month Int32,
|
|
day Int32,
|
|
weekday String
|
|
)
|
|
ENGINE = ReplicatedMergeTree(
|
|
'/clickhouse/tables/{shard}/dsolovianov/core_dim_date',
|
|
'{replica}'
|
|
)
|
|
ORDER BY date;
|
|
|
|
CREATE TABLE dsolovianov.core_enrollments
|
|
ON CLUSTER clickhouse_cluster
|
|
(
|
|
user_id Int32,
|
|
course_id Int32,
|
|
enrolled_at DateTime64(3)
|
|
)
|
|
ENGINE = ReplicatedMergeTree(
|
|
'/clickhouse/tables/{shard}/dsolovianov/core_enrollments',
|
|
'{replica}'
|
|
)
|
|
ORDER BY user_id;
|
|
|
|
CREATE TABLE dsolovianov.core_fact_lesson_views
|
|
ON CLUSTER clickhouse_cluster
|
|
(
|
|
user_id Int32,
|
|
lesson_id Int32,
|
|
course_id Int32,
|
|
viewed_at DateTime64(3)
|
|
)
|
|
ENGINE = ReplicatedMergeTree(
|
|
'/clickhouse/tables/{shard}/dsolovianov/core_fact_lesson_views',
|
|
'{replica}'
|
|
)
|
|
ORDER BY user_id; |