Git Product home page Git Product logo

vixtract's Introduction

ViXtract

Удобный ETL инструмент с открытым исходным кодом на основе Python.

ViXtract – это сборка на основе популярных открытых инструментов обработки данных, которая помогает аналитикам BI самостоятельно выгружать, очищать и преобразовывать данные без помощи ETL разработчиков. Главные принципы ViXtract – удобство работы аналитика и неограниченные возможности развития. В основе ViXtract лежат три ключевых компонента: Jupyter - интерактивная среда для работы с Python, PETL – простая в освоении библиотека преобразования данных, Cronicle - планировщик с функциями мониторинга и оркестрации задач.

Сайт проекта - https://www.vixtract.ru

Установка

Для установки 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

Если планируется использовать 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 в разделе документация на сайте https://www.vixtract.ru
  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

Технические подробности состава сборки

При установке выполняются следующие действия:

  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'

vixtract's People

Contributors

ivanvakhmyanin avatar yusben avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.