stage 1 tables

This commit is contained in:
dr0zd
2026-01-31 01:16:20 +07:00
parent 1012c43304
commit 73988517db
+96
View File
@@ -0,0 +1,96 @@
-- удалить таблицу если раньше создавали
DROP TABLE IF EXISTS mdrozdov.core_fact_lesson_views
ON CLUSTER clickhouse_cluster;
-- таблицы измерений
-- user dimention
CREATE TABLE mdrozdov.core_dim_user
ON CLUSTER clickhouse_cluster
(
user_id Int32,
name String,
age Int32,
email String,
registration_date Date
)
ENGINE = ReplicatedMergeTree(
'/clickhouse/tables/{shard}/mdrozdov/core_dim_user',
'{replica}'
)
ORDER BY user_id;
-- course dimention
CREATE TABLE mdrozdov.core_dim_course
ON CLUSTER clickhouse_cluster
(
course_id Int32,
title String,
category String
)
ENGINE = ReplicatedMergeTree(
'/clickhouse/tables/{shard}/mdrozdov/core_dim_course',
'{replica}'
)
ORDER BY course_id;
-- lesson dimention
CREATE TABLE mdrozdov.core_dim_lesson
ON CLUSTER clickhouse_cluster
(
lesson_id Int32,
title String,
duration_min Int32,
course_id String,
)
ENGINE = ReplicatedMergeTree(
'/clickhouse/tables/{shard}/mdrozdov/core_dim_lesson',
'{replica}'
)
ORDER BY course_id;
-- date dimention
CREATE TABLE mdrozdov.core_dim_date
ON CLUSTER clickhouse_cluster
(
date DATE,
year Int32,
month Int32,
day Int32,
weekday String
)
ENGINE = ReplicatedMergeTree(
'/clickhouse/tables/{shard}/mdrozdov/core_dim_date',
'{replica}'
)
ORDER BY date;
-- таблицы фактов
-- core_enrollments
CREATE TABLE mdrozdov.core_enrollments
ON CLUSTER clickhouse_cluster
(
user_id Int32,
course_id Int32,
enrolled_at DateTime64(3)
)
ENGINE = ReplicatedMergeTree(
'/clickhouse/tables/{shard}/mdrozdov/core_enrollments',
'{replica}'
)
ORDER BY course_id;
-- core_fact_lesson_views
CREATE TABLE mdrozdov.core_fact_lesson_views
ON CLUSTER clickhouse_cluser
(
user_id Int32,
lesson_id Int32,
course_id Int32,
viewed_at DateTime64(3)
)
ENGINE = ReplicatedMergeTree(
'/clickhouse/tables/{shard}/mdrozdov/core_fact_lesson_views',
'{replica}'
)
ORDER BY course_id;