пет-проект полностью

This commit is contained in:
Bonifatsiy
2026-05-11 04:21:02 +04:00
parent c654840ffd
commit d280456d09
4 changed files with 377 additions and 0 deletions
@@ -0,0 +1,90 @@
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;