Построение отчета с PostgreSQL
В лабораторной работе вы создадите отчеты Superset на основе данных из Managed PostgreSQL с помощью Managed Trino.
Постановка задачи
Создать две столбчатые диаграммы на основе данных клиентов. Отчеты должны отражать распределение мужчин и женщин в выборке, а также их средний возраст.
Перед началом работы
Если вы уже зарегистрированы, войдите под своей учетной записью.
После входа выполните шаги, необходимые для работы BI:
Создайте публичный SNAT-шлюз, чтобы обеспечить связь инстанса с S3.
Создайте подсеть, в которой будут размещены инстанс BI и связанные сервисы Cloud.ru, например базы данных и инстансы SQL-движков.
Создайте группу безопасности для инстанса Managed BI.
В ней создайте разрешающие правила на входящий и исходящий трафик.
Создайте кластер PostgreSQL, в котором будут храниться данные для визуализации.
Установите JDBC-клиент DBeaver для подключения к BI.
Подготовьте данные
В лабораторной работе Superset будет использовать Managed PostgreSQL® как источник данных. Необходимо загрузить таблицу в базу данных и подключить Managed Trino к ней.
Создайте кластер PostgreSQL
Перейдите в раздел Evolution и выберите сервис Managed PostgreSQL®, в правом верхнем углу нажмите Создать кластер.
Создайте кластер, следуя шагам, описанным в документации Managed PostgreSQL®.
Задайте название DBaaS-PG-1.
Дождитесь, когда статус кластера изменится на «Доступен».
Откройте карточку кластера PostgreSQL®. Информация понадобится на следующих этапах.
Подготовьте Managed Trino
Создайте подключение
Перейдите в раздел Evolution и выберите сервис Managed Trino.
Нажмите Создать и выберите Подключение.
Заполните поля следующими значениями:
Название — postgres.
Коннектор — PostgreSQL.
Хост — внутренний IP, указанный в карточке кластера DBaaS-PG-1.
Порт — порт, указанный в карточке кластера DBaaS-PG-1.
Название базы данных — dbaas_pg_1.
Логин — логин, указанный в карточке кластера DBaaS-PG-1.
Пароль — пароль кластера, сохраненный в Secret Management.
Если нужного секрета нет, создайте новый, нажав Создать новый секрет.
Нажмите Создать.
Создайте инстанс Trino
Перейдите в раздел Evolution и выберите сервис Managed Trino.
Нажмите Создать и выберите Инстанс Trino.
В блоке Общие параметры заполните поля:
Название — trino-instance.
Вычислительные ресурсы — Small (vCPU 4, RAM 16).
Количество нод — 3.
Подключение — выберите подключение «postgres».
Нажмите Продолжить.
В блоке Сетевые настройки заполните поля:
VPC — выберите сеть VPC.
Зона доступности — выберите зону доступности, для которой создан SNAT-шлюз.
Подсеть — выберите подсеть, в которой располагается кластер PostgreSQL®.
Группа безопасности — выберите группу безопасности.
Подключить публичный хост — активируйте переключатель.
Пользователь — введите имя пользователя.
Пароль — выберите секретный ключ.
Нажмите Создать.
Дождитесь, когда статус инстанса изменится на «Готов».
Откройте карточку инстанса BI. Информация из него понадобится на следующих этапах.
Подключитесь к Trino с помощью DBeaver
Выполните шаги, описанные на странице Подключить инстанс к клиенту JDBC.
Загрузите данные в PostgreSQL
Скачайте таблицу mall_customers.csv.
В DBeaver вставьте SQL-запрос:
CREATE TABLE <catalog.schema.table_name> (customerid integer,genre varchar(50),age integer,annualincome integer,spendingscore integer);В списке баз данных нажмите правой кнопкой мыши на созданной таблице.
В контекстном меню выберите Импорт данных.
Выберите формат .csv.
Выберите ранее скаченную таблицу mall_customers.
Оставьте последующие настройки по умолчанию.
Нажмите Далее, затем Применить.
Подготовьте Superset
Необходимо развернуть инстанс Superset, подключить его к Managed PostgreSQL® через коннектор Trino.
Создайте инстанс Managed BI
Перейдите в раздел Evolution и выберите сервис Managed BI.
Нажмите Создать инстанс.
В блоке Конфигурация выберите:
Вычислительные ресурсы — Small (vCPU 2, RAM 4).
Нажмите Продолжить.
В блоке Сетевые настройки выберите:
Подсеть — выберите подсеть.
Группа безопасности — выберите созданную безопасности.
Нажмите Создать.
Создание инстанса занимает 15 минут. Дождитесь, когда статус изменится на «Готов».
Откройте Superset
На странице Managed BI нажмите на карточку инстанса.
Нажмите SIGN IN WITH CLOUD.
Введите данные своей учетной записи.
Создайте подключение в Superset
Откройте Superset.
В правом верхнем углу нажмите Settings и выберите Database Connections.
Нажмите Database +.
В поле Supported Databases выберите Trino с помощью поиска.
В поле SQLAlchemy URI введите данные инстанса Trino в формате trino://<username>:<password>@<host>:<port>, где:
<username> — имя пользователя, поле Пользователь в карточке инстанса Trino.
<password> — пароль, поле Пароль в карточке инстанса Trino.
<host> — хост из карточки инстанса Trino.
<port> — порт из карточки инстанса Trino.
Нажмите Connect.
Подключение появится в списке «Databases».
Создайте датасет
В Superset перейдите на вкладку Датасеты.
В правом верхнем углу нажмите Dataset +.
Заполните поля:
Database — Trino
Schema — Lab
Table — mall_customers
Нажмите Create dataset snd create chart.
Создайте отчет с отражением пола клиентов
В Superset перейдите на вкладку Графики.
В разделе Choose a dataset выберите «mall_customers».
В разделе Choose chart type выберите Bar chart.
В правом нижнем углу нажмите Create new chart.
Заполните поля:
X-AXIS — gender
METRICS — age
Условие агрегирования «Count».
В правом верхнем углу нажмите Save.
Создайте отчет с отражением среднего возраста и пола клиентов
В Superset перейдите на вкладку Графики.
В разделе Choose a dataset выберите «mall_customers».
В разделе Choose chart type выберите Bar chart.
В правом нижнем углу нажмите Create new chart.
Заполните поля:
X-AXIS — gender
METRICS — age
Условие агрегирования «Average»
В правом верхнем углу нажмите Save.
Создайте дашборд
В Superset перейдите на вкладку Дашборды.
В правом нижнем углу нажмите Dashborad +.
Из списка справа перетащите ранее созданные графики в рабочую область с левой стороны.
Нажмите Save.
Результат
Вы научились работать с источником данных, подключать его к Superset и визуализировать полученные из источника данные.
- Постановка задачи
- Перед началом работы
- Подготовьте данные
- Подготовьте Superset
- Создайте отчет с отражением пола клиентов
- Создайте отчет с отражением среднего возраста и пола клиентов
- Результат