https://github.com/visiologyofficial/vixtract
https://github.com/visiologyofficial/vixtract
etl etl-automation etl-components etl-framework etl-job etl-pipeline
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/visiologyofficial/vixtract
- Owner: visiologyofficial
- License: bsd-3-clause
- Created: 2020-07-03T20:07:15.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-28T12:48:11.000Z (over 1 year ago)
- Last Synced: 2024-10-28T16:35:20.287Z (over 1 year ago)
- Topics: etl, etl-automation, etl-components, etl-framework, etl-job, etl-pipeline
- Language: HTML
- Homepage:
- Size: 916 KB
- Stars: 44
- Watchers: 8
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ViXtract
Удобный ETL инструмент с открытым исходным кодом на основе Python.
ViXtract – это сборка на основе популярных открытых инструментов обработки данных, которая помогает аналитикам BI самостоятельно выгружать, очищать и преобразовывать данные без помощи ETL разработчиков. Главные принципы ViXtract – удобство работы аналитика и неограниченные возможности развития. В основе ViXtract лежат три ключевых компонента: Jupyter - интерактивная среда для работы с Python, PETL – простая в освоении библиотека преобразования данных, Cronicle - планировщик с функциями мониторинга и оркестрации задач.
## Установка
Для установки ViXtract на Ubuntu 18.04 LTS используйте команду ниже:
> sudo apt-get update && sudo apt-get install git -y && git clone https://github.com/visiologyofficial/vixtract && cd vixtract && sudo chmod +x *.sh && sudo ./install.sh
Для установки на других ОС нужно вносить изменения в скрипт или производить установку вручную. Также есть форк с обновленными компонентами для установки на Debian 11 https://github.com/svnikolaev/vixtract
Если планируется использовать ViXtract с публичным доменом и HTTPS, рекомендуется до установки ViXtract настроить домен на DNS-сервере. В этом случае при установке ViXtract можно будет сразу настроить получение SSL сертификата через Letsencypt.
Установщик запросит следующую информацию:
1. Домен/hostname. Можно оставить пустым для доступа к серверу по IP, но в этом случае автоматическая настройка HTTPS будет недоступна.
2. Согласие на автоматическую настройку HTTPS
3. Имя пользователя и пароль для первой учетной записи. С помощью этой учетной записи можно будет сразу приступить к работе с ViXtract.
3. Пароль для учетной записи администратора Cronicle ('admin')
4. Пароль для учетной записи 'etl' в предустановленной PostgreSQL
После установки ViXtract будет доступен в браузере по адресу http(s)://\<домен или IP\>
При необходимости можно запускать скрипт install.sh многократно.
## Начало работы
Рекомендуем начать знакомство с ViXtract в следующем порядке:
1. Посмотрите вводный ролик по ViXtract (ссылка будет добавлена позже)
2. Установите ViXtract или зарегистрируйтесь на публичном тестовом сервере
2. Пройдите вводные уроки по ViXtract в формате Jupyter Notebook - папка 'tutorials'
2. Ознакомьтесь со вводным курсом по Python, например "Python за 15 минут" https://www.youtube.com/watch?v=h8ajN8_XiBk
5. Возьмите свою реальную задачу и попробуйте ее реализовать. При этом вам будут полезны:
1. Примеры реализации коннекторов - папка 'examples'
2. Чат сообщества ViXtract - https://t.me/vixtract_ru
3. Документация PETL - https://petl.readthedocs.io/en/stable/
## Настройка ViXtract
Для настройки ViXtract после установки предусмотрен скрипт 'conf.sh'. Доступны следующие ключи:
'-u'
Добавление учетной записи
'-ssl'
Включение/выключение HTTPS
'-h'
Настройка домена/hostname
'-s'
Настройка монтирования облачного хранилища по протоколу S3
'-p'
Настройка пароля учетной записи 'etl' в PostgreSQL
'-a'
Настройка пароля учетной записи 'admin' в Chronicle
## Технические подробности состава сборки
При установке выполняются следующие действия:
1. Установлен JupyterHub с интерфейсом JupyterLab
2. Установлен менеджер окружений Anaconda
3. Созданы два окружения - dev и prod, а также настроены соответствующие ядра в Jupyter
4. В оба окружения установлен базовый набор пакетов, включая PETL и вспомогательные библиотек
5. Установлен планировшик Cronicle и модуль исполнения papermill
6. Установлен Nginx
7. Установлен S3FS для монтирования облачного хранилища по протоколу S3
7. Установлен и настроен PostgreSQL
8. Создана база etl в PostgreSQL
9. Сделаны дополнительные настройки, интегрирующие все компоненты сборки, в том числе настройки прав, systemd, nginx и др.
## Известные проблемы
1. В текущей версии ViXtract не поддерживает установку в окружении за корпоративным прокси с авторизацией. В таком случае необходимо до установки вручную прописать конфигурацию прокси для npm, anaconda, wget, причем для wget также может потребоваться отключение проверки сертификата 'check_certificate = off'