Способ описан для быстрого развертывания инструмента Superset в Windows.
Для быстрого старта, надо поставить себе WSL (прочекай, чтобы он не жрал всю ОЗУ и не забивал ЦП на 97% — если съедает, гугли, как исправить ситуацию (там все просто)).
Исходим из того, что ты прочитал, что такое Докер, WSL и в общем можешь открыть консоль. Дальше все просто.
Вызывай CMD и внутри консоли, переходи в подсистему, командой WSL. Далее вводи две команды по очереди:
docker volume create postges_vol_1
docker network create app_net
После этого, вводи команду для создания контейнера с Постгресом:
docker run -d \
--name postgresBD \
-e POSTGRES_PASSWORD=postges_admin \
-e POSTGRES_USER=postges_admin \
-e POSTGRES_DB=TytPtostoBaza \
-v postges_vol_1:/var/lib/postgresql/data \
--net=app_net \
postgres:14
Т.к. мы заранее не скачивали Image, консоль (или докер) справится сама. Сначала скачает Image, а затем развернет из этого контейнер. Здесь (в коде выше) мы назначаем имя нашему контейнеру postgresBD и необходимые поля для будущего подключения к БД.
Также, образ и контейнер появится в Docker Desktop. Образ:
Контейнер:
Далее, инициируем создание контейнера с Суперсетом. История аналогична, как с Постгресом — сначала скачается образ, а затем развернется контейнер:
docker run -d --net=app_net -p 80:8088 --name superset apache/superset
Можем видеть, что у нас есть 2 контейнера, которые были только что созданы. Их же, а также образа можно увидеть в Докере.
Далее, скорее всего затребует ключ безопасности. Его можно вставить, следующим кодом:
docker cp /mnt/c/Users/user/SUP/superset_config.py b75cdb042aed:/app/pythonpath
Более подробно, описал в этой статье — тыкать сюда.
Уже сейчас, можно зайти на локал хост (http://localhost/login/) и посмотреть, что Superset запустился:
Следующим шагом, задаем настройки для самого Superseta:
docker exec -it superset superset fab create-admin \
--username admin \
--firstname Superset \
--lastname Admin \
--email admin@superset.com \
--password admin
Задаем в контейнер, что заходить будем через admin /admin (можно прописать что угодно в принципе). Также супер сет необходимо обновить:
docker exec -it superset superset db upgrade
При желании, можно загрузить примеры разных таблиц и вот этого всего, для пробы пера, так сказать (но совсем не обязательно):
docker exec -it superset superset load_examples
Ну и останется инициализировать все это:
docker exec -it superset superset init
Подключение Superset`a к созданной базе данных
В данный момент, у нас есть созданная БД и Суперсет с настройками, по которым мы сможем зайти внутрь программы и приконнектиться к Постгресу. Есть два контейнера:
И два образа:
Заходим на локальный адрес суперсета http://localhost/login/ и вводим указанные нами логин и пароль:
И попадаем внутрь:
Далее необходимо приконектиться к нашей БД:
В следующем окне очевидно выбираем постгр
Где уже в следующем окне, вводим заданные ранее параметры:
Понятно, что мы подключаемся к контейнеру с постгресом по названию, и указываем БД которую задали в при развертывании самого контейнера. Далее, во втором экране, надо поставить галки напротив Allow:
И нажимаем Finish. Далее самое главное.
Активация возможности загрузки Exel и CSV в Superset
На мой взгляд это то, ради чего вообще стоить заморочиться всей этой настройкой и установкой — свободная загрузка Excel файлов, с дальнейшей возможностью уже потом практиковать sql и визуализацию.
Что необходимо сделать:
Перейти на страницу Databases Connections и узреть, что мы пока не можем загружать файлы (даже CSV).
При наведении на строку мышкой с нашей DB, появляется возможность изменять, загружать и править (что-то) в настройках:
Кликаем по Edit. Появляется знакомое окно:
Где переходим на окно ADVANCED и кликаем по Security:
Внутри которого, находим нужный нам чекбокс на активацию загрузки файлов:
После чего можем видеть, что появилась возможность загружать файлы!
Собственно, начинаем работать!
Поддержка контейнеров Superset`a и Postgres`a
Контейнеры созданы, и будут храниться такими, какими мы их оставили. Для того, чтобы запускать именно эти контейнеры, необходимо использовать команды:
sudo docker container start superset
sudo docker container start postgresBD
Понятно, что мы запускаем по названию.
Чтобы остановить контейнеры:
sudo docker container stop superset
sudo docker container stop postgresBD
Собственно, на этом все. Получается, что у нас есть созданные контейнеры из образов, которые мы настроили под себя. И теперь, каждый раз при какой-то необходимости, можем быстро разворачивать суперсет с возможностью чтения даже Excel файлов.