ДОПОЛНИЛ - Пет-проект: Витринный слой. Задание 1: Загрузить CSV-файлы.
This commit is contained in:
+6
@@ -0,0 +1,6 @@
|
||||
"course_id","title","category","created_at"
|
||||
2,Python для анализа данных,programming,2023-01-15 00:00:00.000 +0300
|
||||
3,BI с нуля,business,2023-03-01 00:00:00.000 +0300
|
||||
4,Excel для аналитиков,business,2023-02-01 00:00:00.000 +0300
|
||||
1,SQL для начинающих,data,2023-01-01 00:00:00.000 +0300
|
||||
5,Основы машинного обучения,data,2023-03-15 00:00:00.000 +0300
|
||||
|
+2923
File diff suppressed because it is too large
Load Diff
+19
@@ -0,0 +1,19 @@
|
||||
"lesson_id","title","duration_min","course_id"
|
||||
2,JOIN,15,1
|
||||
3,WHERE и фильтрация,12,1
|
||||
4,Агрегации и GROUP BY,18,1
|
||||
6,Pandas основы,20,2
|
||||
7,NumPy,15,2
|
||||
8,Визуализация данных,22,2
|
||||
9,Основы BI,12,3
|
||||
10,Метрики и дашборды,18,3
|
||||
13,Сводные таблицы,18,4
|
||||
16,Линейная регрессия,30,5
|
||||
18,Кластеризация,25,5
|
||||
1,SELECT и FROM,10,1
|
||||
5,Подзапросы,25,1
|
||||
11,Power BI введение,20,3
|
||||
12,Формулы в Excel,15,4
|
||||
14,Графики и диаграммы,14,4
|
||||
15,Введение в ML,20,5
|
||||
17,Классификация,28,5
|
||||
|
+21
@@ -0,0 +1,21 @@
|
||||
"user_id","name","age","email","registration_date"
|
||||
1,Alice,25,alice@mail.com,2023-01-10 00:00:00.000 +0300
|
||||
5,Ethan,35,ethan@gmail.com,2023-03-10 00:00:00.000 +0300
|
||||
11,Kelly,23,kelly@gmail.com,2023-04-20 00:00:00.000 +0300
|
||||
12,Leo,31,leo@mail.com,2023-01-15 00:00:00.000 +0300
|
||||
14,Nina,28,nina@mail.com,2023-01-08 00:00:00.000 +0300
|
||||
15,Oscar,33,oscar@gmail.com,2023-01-10 00:00:00.000 +0300
|
||||
17,Quinn,24,quinn@gmail.com,2023-03-20 00:00:00.000 +0300
|
||||
20,Tina,25,tina@mail.com,2023-04-18 00:00:00.000 +0300
|
||||
2,Bob,30,bob@gmail.com,2023-02-05 00:00:00.000 +0300
|
||||
3,Charlie,22,charlie@mail.com,2023-02-20 00:00:00.000 +0300
|
||||
4,Diana,28,diana@mail.com,2023-03-01 00:00:00.000 +0300
|
||||
6,Frank,29,frank@mail.com,2023-01-05 00:00:00.000 +0300
|
||||
7,Grace,26,grace@gmail.com,2023-01-12 00:00:00.000 +0300
|
||||
8,Henry,32,henry@mail.com,2023-01-20 00:00:00.000 +0300
|
||||
9,Iris,24,iris@gmail.com,2023-02-10 00:00:00.000 +0300
|
||||
10,Jack,27,jack@mail.com,2023-04-15 00:00:00.000 +0300
|
||||
13,Mia,26,mia@gmail.com,2023-01-18 00:00:00.000 +0300
|
||||
16,Paul,29,paul@mail.com,2023-02-15 00:00:00.000 +0300
|
||||
18,Rita,27,rita@mail.com,2023-04-01 00:00:00.000 +0300
|
||||
19,Sam,30,sam@gmail.com,2023-04-10 00:00:00.000 +0300
|
||||
|
+46
@@ -0,0 +1,46 @@
|
||||
"user_id","course_id","enrolled_at"
|
||||
2,1,2023-01-20 00:00:00.000 +0300
|
||||
3,2,2023-03-05 00:00:00.000 +0300
|
||||
6,1,2023-01-06 00:00:00.000 +0300
|
||||
6,2,2023-01-10 00:00:00.000 +0300
|
||||
6,4,2023-02-05 00:00:00.000 +0300
|
||||
7,1,2023-01-13 00:00:00.000 +0300
|
||||
7,3,2023-03-10 00:00:00.000 +0300
|
||||
8,3,2023-01-22 00:00:00.000 +0300
|
||||
13,2,2023-01-19 00:00:00.000 +0300
|
||||
13,4,2023-02-20 00:00:00.000 +0300
|
||||
16,2,2023-02-16 00:00:00.000 +0300
|
||||
16,4,2023-02-16 00:00:00.000 +0300
|
||||
19,1,2023-04-11 00:00:00.000 +0300
|
||||
19,2,2023-04-11 00:00:00.000 +0300
|
||||
2,3,2023-03-15 00:00:00.000 +0300
|
||||
4,2,2023-03-10 00:00:00.000 +0300
|
||||
7,2,2023-02-01 00:00:00.000 +0300
|
||||
9,1,2023-02-15 00:00:00.000 +0300
|
||||
18,4,2023-04-05 00:00:00.000 +0300
|
||||
4,3,2023-04-01 00:00:00.000 +0300
|
||||
8,1,2023-01-22 00:00:00.000 +0300
|
||||
8,2,2023-01-22 00:00:00.000 +0300
|
||||
9,4,2023-02-12 00:00:00.000 +0300
|
||||
10,1,2023-04-16 00:00:00.000 +0300
|
||||
18,1,2023-04-02 00:00:00.000 +0300
|
||||
3,1,2023-02-25 00:00:00.000 +0300
|
||||
6,3,2023-03-08 00:00:00.000 +0300
|
||||
1,2,2023-02-01 00:00:00.000 +0300
|
||||
11,2,2023-04-21 00:00:00.000 +0300
|
||||
14,2,2023-01-09 00:00:00.000 +0300
|
||||
14,3,2023-01-09 00:00:00.000 +0300
|
||||
14,5,2023-03-20 00:00:00.000 +0300
|
||||
17,3,2023-03-22 00:00:00.000 +0300
|
||||
20,2,2023-04-19 00:00:00.000 +0300
|
||||
12,3,2023-03-10 00:00:00.000 +0300
|
||||
1,1,2023-01-15 00:00:00.000 +0300
|
||||
12,1,2023-01-16 00:00:00.000 +0300
|
||||
14,1,2023-01-09 00:00:00.000 +0300
|
||||
14,4,2023-02-01 00:00:00.000 +0300
|
||||
15,1,2023-01-11 00:00:00.000 +0300
|
||||
15,3,2023-03-05 00:00:00.000 +0300
|
||||
17,5,2023-03-25 00:00:00.000 +0300
|
||||
5,5,2023-03-20 00:00:00.000 +0300
|
||||
1,4,2023-02-10 00:00:00.000 +0300
|
||||
15,2,2023-02-01 00:00:00.000 +0300
|
||||
|
+59
@@ -0,0 +1,59 @@
|
||||
"user_id","lesson_id","course_id","viewed_at"
|
||||
1,2,1,2023-01-16 10:15:00.000 +0300
|
||||
1,3,1,2023-01-17 09:00:00.000 +0300
|
||||
1,4,1,2023-01-17 09:30:00.000 +0300
|
||||
1,4,1,2023-01-18 10:00:00.000 +0300
|
||||
1,6,2,2023-02-02 14:00:00.000 +0300
|
||||
1,13,4,2023-02-15 10:30:00.000 +0300
|
||||
5,16,5,2023-03-22 11:00:00.000 +0300
|
||||
12,2,1,2023-01-17 10:20:00.000 +0300
|
||||
12,3,1,2023-04-10 11:30:00.000 +0300
|
||||
14,2,1,2023-01-09 08:15:00.000 +0300
|
||||
14,4,1,2023-01-10 10:30:00.000 +0300
|
||||
14,6,2,2023-01-10 14:00:00.000 +0300
|
||||
14,9,3,2023-01-10 08:00:00.000 +0300
|
||||
1,4,1,2023-01-17 11:00:00.000 +0300
|
||||
12,9,3,2023-03-12 10:00:00.000 +0300
|
||||
14,3,1,2023-01-10 10:00:00.000 +0300
|
||||
14,7,2,2023-01-11 10:00:00.000 +0300
|
||||
14,8,2,2023-01-12 11:00:00.000 +0300
|
||||
1,12,4,2023-02-15 10:00:00.000 +0300
|
||||
12,1,1,2023-01-17 10:00:00.000 +0300
|
||||
14,5,1,2023-01-11 09:00:00.000 +0300
|
||||
1,1,1,2023-01-16 10:00:00.000 +0300
|
||||
5,15,5,2023-03-21 10:00:00.000 +0300
|
||||
12,1,1,2023-04-10 11:00:00.000 +0300
|
||||
14,1,1,2023-01-09 08:00:00.000 +0300
|
||||
3,6,2,2023-03-06 12:00:00.000 +0300
|
||||
4,9,3,2023-04-02 10:00:00.000 +0300
|
||||
4,6,2,2023-03-12 14:00:00.000 +0300
|
||||
4,7,2,2023-03-13 09:00:00.000 +0300
|
||||
6,3,1,2023-01-08 09:00:00.000 +0300
|
||||
6,6,2,2023-01-11 14:00:00.000 +0300
|
||||
6,7,2,2023-01-12 10:00:00.000 +0300
|
||||
6,8,2,2023-01-13 11:00:00.000 +0300
|
||||
6,9,3,2023-03-09 11:00:00.000 +0300
|
||||
7,9,3,2023-03-11 14:00:00.000 +0300
|
||||
2,9,3,2023-03-16 10:00:00.000 +0300
|
||||
2,10,3,2023-03-16 10:30:00.000 +0300
|
||||
3,2,1,2023-02-26 11:20:00.000 +0300
|
||||
4,10,3,2023-04-03 10:00:00.000 +0300
|
||||
6,2,1,2023-01-07 10:15:00.000 +0300
|
||||
6,4,1,2023-01-08 09:30:00.000 +0300
|
||||
6,13,4,2023-02-06 09:30:00.000 +0300
|
||||
7,2,1,2023-01-14 10:20:00.000 +0300
|
||||
7,3,1,2023-01-15 09:00:00.000 +0300
|
||||
7,10,3,2023-03-11 14:30:00.000 +0300
|
||||
9,13,4,2023-02-13 10:30:00.000 +0300
|
||||
13,6,2,2023-01-20 14:00:00.000 +0300
|
||||
13,7,2,2023-01-21 10:00:00.000 +0300
|
||||
2,1,1,2023-01-21 09:00:00.000 +0300
|
||||
6,1,1,2023-01-07 10:00:00.000 +0300
|
||||
6,14,4,2023-02-07 10:00:00.000 +0300
|
||||
7,1,1,2023-01-14 10:00:00.000 +0300
|
||||
9,12,4,2023-02-13 10:00:00.000 +0300
|
||||
9,1,1,2023-02-16 11:00:00.000 +0300
|
||||
3,1,1,2023-02-26 11:00:00.000 +0300
|
||||
6,5,1,2023-01-09 10:00:00.000 +0300
|
||||
6,12,4,2023-02-06 09:00:00.000 +0300
|
||||
13,12,4,2023-02-21 09:00:00.000 +0300
|
||||
|
+37
-1
@@ -1,3 +1,5 @@
|
||||
-- DIM
|
||||
|
||||
--DROP TABLE IF EXISTS mnoskov.core_dim_user ON CLUSTER clickhouse_cluster SYNC;
|
||||
CREATE TABLE mnoskov.core_dim_user
|
||||
ON CLUSTER clickhouse_cluster
|
||||
@@ -58,4 +60,38 @@ ENGINE=ReplicatedMergeTree(
|
||||
'/clickhouse/tables/{shard}/mnoskov/core_dim_date',
|
||||
'{replica}'
|
||||
)
|
||||
ORDER BY date;
|
||||
ORDER BY date;
|
||||
|
||||
|
||||
-- FACT
|
||||
|
||||
--DROP TABLE IF EXISTS mnoskov.core_fact_lesson_views;
|
||||
CREATE TABLE mnoskov.core_fact_lesson_views
|
||||
ON CLUSTER clickhouse_cluster
|
||||
(
|
||||
user_id UInt64,
|
||||
lesson_id UInt64,
|
||||
course_id UInt64,
|
||||
viewed_at DateTime
|
||||
)
|
||||
ENGINE=ReplicatedMergeTree(
|
||||
'/clickhouse/tables/{shard}/mnoskov/core_fact_lesson_views',
|
||||
'{replica}'
|
||||
)
|
||||
PARTITION BY toYYYYMM(viewed_at)
|
||||
ORDER BY (viewed_at, user_id); -- я если честно не знаю как с этой таблицей поступить в ORDER BY. Наставьте меня на путь истиный.
|
||||
|
||||
--DROP TABLE IF EXISTS mnoskov.core_enrollments;
|
||||
CREATE TABLE mnoskov.core_enrollments
|
||||
ON CLUSTER clickhouse_cluster
|
||||
(
|
||||
user_id UInt64,
|
||||
course_id UInt64,
|
||||
enrolled_at DateTime
|
||||
)
|
||||
ENGINE=ReplicatedMergeTree(
|
||||
'/clickhouse/tables/{shard}/mnoskov/core_enrollments',
|
||||
'{replica}'
|
||||
)
|
||||
PARTITION BY toYYYYMM(enrolled_at)
|
||||
ORDER BY (enrolled_at, user_id);
|
||||
Reference in New Issue
Block a user