added STEP4.1, STEP4.2, STEP5
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
- ВИТРИНА АНАЛИЗА ПОПУЛЯРНОСТИ КАЖДОГО УРОКА
|
||||
- ВСЕ УЧАСТВУЮЩИЕ ИЗМЕРЕНИЯ DISTRIBUTED REPLICATED
|
||||
- ИТОГОВОЕ ПРЕДСТВАЛЕНИЕ DISTRIBUTED BY (lesson_id, course_id)
|
||||
*/
|
||||
|
||||
CREATE MATERIALIZED VIEW IF NOT EXISTS dm.lesson_popularity_summary AS
|
||||
-- EXPLAIN ANALYZE
|
||||
WITH t1 AS (
|
||||
SELECT
|
||||
lesson_id,
|
||||
course_id,
|
||||
COUNT(lesson_id) AS total_views,
|
||||
COUNT(DISTINCT user_id) AS unique_users,
|
||||
MIN(viewed_at)AS first_view,
|
||||
MAX(viewed_at)AS last_view
|
||||
FROM core.fact_lesson_views
|
||||
GROUP BY lesson_id, course_id
|
||||
),
|
||||
t2 AS (
|
||||
SELECT
|
||||
l.lesson_id,
|
||||
l.title AS lesson_title,
|
||||
c.course_id,
|
||||
c.title AS course_title
|
||||
FROM core.dim_course c
|
||||
LEFT JOIN core.dim_lesson l USING(course_id)
|
||||
|
||||
)
|
||||
SELECT
|
||||
t1.lesson_id,
|
||||
t2.lesson_title,
|
||||
t1.course_id,
|
||||
t2.course_title,
|
||||
t1.total_views,
|
||||
t1.unique_users,
|
||||
t1.first_view,
|
||||
t1.last_view
|
||||
FROM t1
|
||||
LEFT JOIN t2 USING(lesson_id)
|
||||
|
||||
DISTRIBUTED BY (lesson_id, course_id);
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
- ВИТРИНА АНАЛИЗА НЕАКТИВНЫХ ПОЛЬЗОВАТЕЛЕЙ
|
||||
- ВСЕ УЧАСТВУЮЩИЕ ТАБЛИЦЫ DISTRIBUTED BY (user_id)
|
||||
- ИТОГОВОЕ ПРЕДСТВАЛЕНИЕ ТАК ЖЕ DISTRIBUTED BY (user_id)
|
||||
*/
|
||||
|
||||
|
||||
CREATE MATERIALIZED VIEW IF NOT EXISTS dm.inactive_users_summary AS
|
||||
-- EXPLAIN ANALYZE
|
||||
WITH t1 AS (
|
||||
SELECT
|
||||
user_id,
|
||||
count(DISTINCT course_id) AS enrollments_count
|
||||
FROM core.enrollments
|
||||
GROUP BY user_id
|
||||
)
|
||||
SELECT
|
||||
u.user_id,
|
||||
u.name AS user_name,
|
||||
u.email,
|
||||
u.age,
|
||||
coalesce(t1.enrollments_count, 0),
|
||||
u.registration_date
|
||||
FROM core.dim_user u
|
||||
LEFT JOIN t1 USING (user_id)
|
||||
WHERE u.user_id NOT IN (SELECT user_id FROM core.fact_lesson_views)
|
||||
|
||||
DISTRIBUTED BY (user_id);
|
||||
@@ -1,9 +1,10 @@
|
||||
/*
|
||||
- ВИТРИНА ДЛЯ АНАЛИЗА КОНВЕРСИИ ПРОХОЖДЕНИЯ КУРСА ПОЛЬЗОВАТЕЛЯМИ
|
||||
- CORE.DIM_USER И CORE.FACT_LESSON_VIEWS DISTRIBUTED BY (user_id)
|
||||
- ИТОГОВОЕ РАСПРЕДЕЛЕНИЕ ПО (user_id, course_id)
|
||||
*/
|
||||
|
||||
CREATE MATERIALIZED VIEW dm.course_completion_rate AS
|
||||
CREATE MATERIALIZED VIEW IF NOT EXISTS dm.course_completion_rate AS
|
||||
WITH t1 AS (
|
||||
SELECT
|
||||
e.user_id,
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
SELECT * FROM dm.lesson_popularity_summary LIMIT 10;
|
||||
SELECT * FROM dm.inactive_users_summary LIMIT 10;
|
||||
SELECT * FROM dm.course_completion_rate LIMIT 10;
|
||||
Reference in New Issue
Block a user