feat(superset): автоматическая инициализация с PostgreSQL метаданными
- Добавлена автоматическая инициализация Superset (подключение ClickHouse, 6 датасетов, 10 чартов, дашборд) - Переведено хранение метаданных с SQLite на PostgreSQL (shared с Airflow) - Добавлен superset_config.py для конфигурации PostgreSQL - Обновлен Dockerfile.superset: postgresql-client, psycopg2-binary - Обновлен docker-compose.yml: volume mount конфига, SUPERSET_CONFIG_PATH - Исправлены скрипты init_superset.py и create_dashboard.py для работы с shell - Обновлена документация в README.md: раздел Superset с инструкциями Тестирование: - Проверена работа после перезапуска (данные сохраняются) - Проверен чистый запуск с нуля - API и UI доступны
This commit is contained in:
+8
-13
@@ -228,15 +228,11 @@ services:
|
||||
- superset_data:/var/lib/superset
|
||||
- superset_config:/app/superset_home
|
||||
- ./superset:/app/superset_init:ro
|
||||
- ./configs/superset_config.py:/app/pythonpath/superset_config.py:ro
|
||||
environment:
|
||||
- SUPERSET_SECRET_KEY=9wc5+erMt60+lxrXDf3RjeIR+zONpEFusO00Np7JzfliMTI1e+RXnHcQ
|
||||
- TZ=Europe/Moscow
|
||||
- DATABASE_DB=superset
|
||||
- DATABASE_HOST=postgres-metadata
|
||||
- DATABASE_PASSWORD=airflow
|
||||
- DATABASE_USER=airflow
|
||||
- DATABASE_PORT=5432
|
||||
- DATABASE_DIALECT=postgresql
|
||||
- SUPERSET_CONFIG_PATH=/app/pythonpath/superset_config.py
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8088/health"]
|
||||
interval: 30s
|
||||
@@ -258,19 +254,18 @@ services:
|
||||
- superset_data:/var/lib/superset
|
||||
- superset_config:/app/superset_home
|
||||
- ./superset:/app/superset_init:ro
|
||||
- ./configs/superset_config.py:/app/pythonpath/superset_config.py:ro
|
||||
environment:
|
||||
- SUPERSET_SECRET_KEY=9wc5+erMt60+lxrXDf3RjeIR+zONpEFusO00Np7JzfliMTI1e+RXnHcQ
|
||||
- TZ=Europe/Moscow
|
||||
- DATABASE_DB=superset
|
||||
- DATABASE_HOST=postgres-metadata
|
||||
- DATABASE_PASSWORD=airflow
|
||||
- DATABASE_USER=airflow
|
||||
- DATABASE_PORT=5432
|
||||
- DATABASE_DIALECT=postgresql
|
||||
- SUPERSET_CONFIG_PATH=/app/pythonpath/superset_config.py
|
||||
command: >
|
||||
bash -ceuo pipefail "
|
||||
echo 'Waiting for PostgreSQL...' &&
|
||||
sleep 10 &&
|
||||
sleep 5 &&
|
||||
echo 'Creating superset database if not exists...' &&
|
||||
PGPASSWORD=airflow psql -h postgres-metadata -U airflow -d airflow -tc \"SELECT 1 FROM pg_database WHERE datname='superset'\" | grep -q 1 || \\
|
||||
PGPASSWORD=airflow psql -h postgres-metadata -U airflow -d airflow -c \"CREATE DATABASE superset;\" &&
|
||||
echo 'Initializing Superset DB...' &&
|
||||
superset db upgrade &&
|
||||
echo 'Creating admin user...' &&
|
||||
|
||||
Reference in New Issue
Block a user