PlatonB / index-tools

Попытка создания оффлайн-инструментария быстрого извлечения табличных данных

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Проект закрыт.

Сама по себе задумка осуществления быстрого доступа с помощью seek() на практике оказалась неудачной. Да и ClickHouse подводит отсутствием вторичных индексов. Новая программа high-perf-bio создаёт полноценные MongoDB-базы и позволяет работать с большими наборами данных без заметных проблем производительности. Код index-tools я удалять не буду - пусть остаётся в качестве шпаргалки по SQL:).

Синопсис.

Сравнение с индексатором и поисковиком Tabix проекта Samtools.

Характеристика или требование Index-tools Tabix
Универсальность Индексирует по любым столбцам каких угодно таблиц. Это открывает программе как широкое применение в биоинформатике, так и выход за пределы этой науки Поддерживает только VCF-таблицы и индексирует их строго по номеру хромосомы и геномной позиции
Предварительная сортировка индексируемых столбцов Не требуется Обязательно нужно сортировать по хромосоме и позиции
Архивация исходных файлов Сжимать нужно, но с помощью GZIP, идущего в комплекте с популярными ОС Поддерживается работа только с архивами, созданными экзотическим, нуждающимся в компиляции, BGZIP
Командная строка Пригождается однократно для установки ClickHouse. На этапе эксплуатации забудьте о ней Чисто command-line программа
Трудности установки Отсутствуют Компиляция из исходников, требующая разрешать вручную многочисленные зависимости
Производительность Для таблиц, весящих десятки ГБ — средней паршивости. Очевидно, это плата за универсальность Всегда очень высокая

Перед началом работы.

  1. Убедитесь, что в ОС установлен Python не ниже версии 3.6.
  2. Если не хотите запускать программу из командной строки, установите любую понравившуюся вам среду разработки для Python. Я рекомендую IDLE.
  3. Установите модуль, позволяющий использовать внутри Python-кода ClickHouse-инструкции.
pip3 install clickhouse-driver --user
  1. Скачайте архив с программой.
Clone or download

(зелёная кнопка наверху страницы репозитория).

  1. Распакуйте его в любую папку.
  2. Установите ClickHouse по инстукции ниже.

Установка СУБД ClickHouse.

Здесь придётся чуть покрасноглазить:).

Важно знать о командной строке Linux.

  • В Linux программы, позволяющие запускать команды, называются эмуляторами терминала. В составе вашего дистрибутива таковой будет, скорее всего, под названием Терминал или Консоль. Для тру-хакеров есть ещё чисто текстовое окружение, в которое можно переключиться сочетанием клавиш CTRL+ALT+F2.
  • CTRL+ALT+C - скопировать что-либо из эмулятора терминала (в elementary OS — проще — CTRL+C);
  • CTRL+ALT+V - вставить что-либо в эмулятор терминала (в elementary OS — проще — CTRL+V).
  • CTRL+D - завершить работу запущенной в эмуляторе терминала программы. Это как нажатие на всем знакомый крестик у окон в графических окружениях.
  • sudo в начале команды означает то, что планируемое действие может совершить только человек с правами суперпользователя (root). При работе на собственном компьютере вы можете легко задать root-пароль либо во время установки дистрибутива, либо уже потом командой sudo passwd.
  • При вводе или вставке пароля вы, возможно, будете ожидать появление звёздочек. Но этого, вероятнее всего, не произойдёт: пароли в линуксовой командной строке, как правило, набираются/вставляются в невидимом режиме.

Ubuntu Linux/elementary OS/Linux Mint.

Открываем файл управления репозиториями (хранилищами программ) в консольном редакторе GNU Nano.

sudo nano /etc/apt/sources.list

Вставляем в любое место этого файла (рекомендую в конец) строку deb http://repo.yandex.ru/clickhouse/deb/stable/ main/, дающую право устанавливать программы стабильных версий из репозитория Yandex ClickHouse. Сохраняем изменения: CTRL+Xy<enter>.

Добавляем ключ ClickHouse-репозитория:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4

Обновляем базу доступных в репозиториях пакетов.

sudo apt update

Устанавливаем компоненты ClickHouse.

sudo apt install clickhouse-client clickhouse-server

Когда появится сиреневый экран с предложением задать пароль пользователя ClickHouse, просто нажимаем <enter>.

Текст

Перезагружаем ОС. Это, кстати, тоже можно из командной строки сделать.

systemctl reboot

About

Попытка создания оффлайн-инструментария быстрого извлечения табличных данных

License:GNU General Public License v3.0


Languages

Language:Python 100.0%