Skip to content

visiologyofficial/vixtract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

04c0b87 · Oct 28, 2024

History

86 Commits
Oct 28, 2024
Apr 25, 2022
Oct 21, 2024
Jul 5, 2020
Jul 13, 2020
Jul 5, 2020
Jul 5, 2020
Aug 15, 2024
Jul 15, 2020
Jul 11, 2020
Jul 3, 2020
Jul 14, 2020
Oct 21, 2024
Aug 15, 2024
Jul 13, 2020
Jul 14, 2020
Jul 13, 2020
Jul 15, 2020
Jul 5, 2020

Repository files navigation

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.
  4. Пароль для учетной записи администратора Cronicle ('admin')
  5. Пароль для учетной записи 'etl' в предустановленной PostgreSQL

После установки ViXtract будет доступен в браузере по адресу http(s)://<домен или IP>

При необходимости можно запускать скрипт install.sh многократно.

Начало работы

Рекомендуем начать знакомство с ViXtract в следующем порядке:

  1. Посмотрите вводный ролик по ViXtract (ссылка будет добавлена позже)
  2. Установите ViXtract или зарегистрируйтесь на публичном тестовом сервере
  3. Пройдите вводные уроки по ViXtract в формате Jupyter Notebook - папка 'tutorials'
  4. Ознакомьтесь со вводным курсом по 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
  8. Установлен и настроен PostgreSQL
  9. Создана база etl в PostgreSQL
  10. Сделаны дополнительные настройки, интегрирующие все компоненты сборки, в том числе настройки прав, systemd, nginx и др.

Известные проблемы

  1. В текущей версии ViXtract не поддерживает установку в окружении за корпоративным прокси с авторизацией. В таком случае необходимо до установки вручную прописать конфигурацию прокси для npm, anaconda, wget, причем для wget также может потребоваться отключение проверки сертификата 'check_certificate = off'