001-fix-ui-ws-validation #2
42
README.md
42
README.md
@@ -1,3 +1,5 @@
|
||||
Вот обновлённый README с информацией о работе со скриптами:
|
||||
|
||||
# Инструменты автоматизации Superset
|
||||
|
||||
## Обзор
|
||||
@@ -9,6 +11,7 @@
|
||||
- `backup_script.py`: Основной скрипт для выполнения запланированного резервного копирования дашбордов Superset.
|
||||
- `migration_script.py`: Основной скрипт для переноса конкретных дашбордов между окружениями, включая переопределение соединений с базами данных.
|
||||
- `search_script.py`: Скрипт для поиска данных во всех доступных датасетах на сервере
|
||||
- `run_mapper.py`: CLI-скрипт для маппинга метаданных датасетов.
|
||||
- `superset_tool/`:
|
||||
- `client.py`: Python-клиент для взаимодействия с API Superset.
|
||||
- `exceptions.py`: Пользовательские классы исключений для структурированной обработки ошибок.
|
||||
@@ -17,6 +20,8 @@
|
||||
- `fileio.py`: Утилиты для работы с файловой системой (работа с архивами, парсинг YAML).
|
||||
- `logger.py`: Конфигурация логгера для единообразного логирования в проекте.
|
||||
- `network.py`: HTTP-клиент для сетевых запросов с обработкой аутентификации и повторных попыток.
|
||||
- `init_clients.py`: Утилита для инициализации клиентов Superset для разных окружений.
|
||||
- `dataset_mapper.py`: Логика маппинга метаданных датасетов.
|
||||
|
||||
## Настройка
|
||||
|
||||
@@ -66,17 +71,34 @@ python migration_script.py
|
||||
`from_c` и `to_c`.
|
||||
|
||||
### Скрипт поиска (`search_script.py`)
|
||||
Строка для поиска и клиенты для поиска задаются здесь
|
||||
# Поиск всех таблиц в датасете
|
||||
```python
|
||||
results = search_datasets(
|
||||
client=clients['dev'],
|
||||
search_pattern=r'dm_view\.account_debt',
|
||||
search_fields=["sql"],
|
||||
logger=logger
|
||||
)
|
||||
Для поиска по текстовым паттернам в метаданных датасетов Superset:
|
||||
```bash
|
||||
python search_script.py
|
||||
```
|
||||
Скрипт использует регулярные выражения для поиска в полях датасетов, таких как SQL-запросы. Результаты поиска выводятся в лог и в консоль.
|
||||
|
||||
### Скрипт маппинга метаданных (`run_mapper.py`)
|
||||
Для обновления метаданных датасета (например, verbose names) в Superset:
|
||||
```bash
|
||||
python run_mapper.py --source <source_type> --dataset-id <dataset_id> [--table-name <table_name>] [--table-schema <table_schema>] [--excel-path <path_to_excel>] [--env <environment>]
|
||||
```
|
||||
Если вы используете XLSX - файл должен содержать два столбца - column_name | verbose_name
|
||||
|
||||
|
||||
Параметры:
|
||||
- `--source`: Источник данных ('postgres', 'excel' или 'both').
|
||||
- `--dataset-id`: ID датасета для обновления.
|
||||
- `--table-name`: Имя таблицы для PostgreSQL.
|
||||
- `--table-schema`: Схема таблицы для PostgreSQL.
|
||||
- `--excel-path`: Путь к Excel-файлу.
|
||||
- `--env`: Окружение Superset ('dev', 'prod' и т.д.).
|
||||
|
||||
Пример использования:
|
||||
```bash
|
||||
python run_mapper.py --source postgres --dataset-id 123 --table-name account_debt --table-schema dm_view --env dev
|
||||
|
||||
python run_mapper.py --source=excel --dataset-id=286 --excel-path=H:\dev\ss-tools\286_map.xlsx --env=dev
|
||||
```
|
||||
|
||||
## Логирование
|
||||
Логи пишутся в файл в директории `Logs` (например, `P:\Superset\010 Бекапы\Logs` для резервных копий) и выводятся в консоль. Уровень логирования по умолчанию — `INFO`.
|
||||
@@ -90,4 +112,4 @@ results = search_datasets(
|
||||
---
|
||||
[COHERENCE_CHECK_PASSED] README.md создан и согласован с модулями.
|
||||
|
||||
Перевод выполнен с сохранением оригинальной Markdown-разметки и стиля документа. [1]
|
||||
Перевод выполнен с сохранением оригинальной Markdown-разметки и стиля документа.
|
||||
@@ -97,7 +97,7 @@ class DatasetMapper:
|
||||
self.logger.info("[load_excel_mappings][Enter] Loading mappings from %s.", file_path)
|
||||
try:
|
||||
df = pd.read_excel(file_path)
|
||||
mappings = df.set_index('column_name')['column_comment'].to_dict()
|
||||
mappings = df.set_index('column_name')['verbose_name'].to_dict()
|
||||
self.logger.info("[load_excel_mappings][Success] Loaded %d mappings.", len(mappings))
|
||||
return mappings
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user