Текст задания
This commit is contained in:
@@ -0,0 +1,55 @@
|
|||||||
|
**Дашборд для e-commerce кликстрима**
|
||||||
|
|
||||||
|
Представьте, что вы работаете в e-commerce проекте. Бизнес-юнит в процессе обсуждения, закупать ли вам кликстрим логов посещения некоторого портала другого магазина. Для первичного анализа вам предоставили данные, чтобы оценить применимость и выводы, которые можно сделать из них.
|
||||||
|
|
||||||
|
Вам нужно подготовить данные для первичного анализа и собрать несколько графиков в дашборд. Финальный результат вашей работы — развернутая инфраструктура и дашборд с графиками на которых "бизнес" может сделать выводы о данных. Вам дали полный карт-бланш на тему того, как эти данные можно обработать.
|
||||||
|
|
||||||
|
## Вам нужно:
|
||||||
|
|
||||||
|
* спроектировать хранилище в /PostgreSQL/Clickhouse/ со слоями и объектами, которые вы посчитаете нужными
|
||||||
|
* написать все нужные расчёты и алгоритмы для создания витрин
|
||||||
|
* реализовать расчёт с помощью какого-то регулярного процесса
|
||||||
|
* сделать на основе этих данных дашборд который можно будет посмотреть в браузере
|
||||||
|
|
||||||
|
### Какие инструменты выбрать
|
||||||
|
|
||||||
|
Пара вариантов:
|
||||||
|
|
||||||
|
* **Kafka + Clickhouse + Airflow + Superset/Power BI**
|
||||||
|
* Postgresql + dagster + Grafana
|
||||||
|
* dlt + duckdb + Airflow + [Panel](https://panel.holoviz.org/)
|
||||||
|
* Clickhouse + Airflow + Redis + [Streamlit](https://streamlit.io/)
|
||||||
|
* sqlitedb + скрипты питона + Flask + d3.js
|
||||||
|
|
||||||
|
Начните с маленького среза данных, чтобы ознакомиться, что за данные вам предоставляют:
|
||||||
|
|
||||||
|
* browser_events.jsonl — данные с информацией о просмотрах браузера
|
||||||
|
* device_events.jsonl — данные об устройствах, с которых пользователи пользовались сайтом
|
||||||
|
* geo_events.jsonl — данные о локации пользователя
|
||||||
|
* location_events.jsonl — вопреки названию, это данные не о локации пользователя, а непосредственно о положении пользователя на сайте и информации о том, откуда пользователь попал на страницу
|
||||||
|
|
||||||
|
Смысл задачи на **своей ВМ** развернуть инструменты и загрузить данные в Kafka и из нее прогнать их в Clickhouse /другая DB по слоям.
|
||||||
|
|
||||||
|
В Airflow взять данные из таблиц и преобразовать, потом выгрузить в Clickhouse / другая DB в агрегированном формате под дашборд.
|
||||||
|
|
||||||
|
Дашборд не оценивается, но будет плюсом, если получиться собрать удобный визуал.
|
||||||
|
|
||||||
|
Записать можно на видео и отправить контактному лицу или продемонстрировать на собеседовании
|
||||||
|
|
||||||
|
Можно использовать любые инструменты.
|
||||||
|
|
||||||
|
Данные могут быть(скорее всего) с ошибками и компания которая их предоставляем заранее об этом сообщила т.к. они не хотят делиться 100% качественными данными полноценно с продакшена.
|
||||||
|
|
||||||
|
### ИНФРАСТРУКТУРА
|
||||||
|
|
||||||
|
* инфраструктура клевая и работает = 18 баллов
|
||||||
|
* инфраструктура работает, но есть баги = 12 баллов
|
||||||
|
* инфраструктура почти есть, но не совсем = 6 баллов
|
||||||
|
* инфраструктуры нет = 0 баллов
|
||||||
|
|
||||||
|
### ДАШБОРДЫ
|
||||||
|
|
||||||
|
* дашборды есть и удобные и работают = 12 баллов
|
||||||
|
* дашборды работают, но неудобные = 8 баллов
|
||||||
|
* дашборды почти работают = 4 балла
|
||||||
|
* дашбордов нет = 0 баллов
|
||||||
Binary file not shown.
Reference in New Issue
Block a user