Несколько дней назад я наткнулся на очень красивое приложение под названием redash. На первый взгляд он немного напоминал Кибана, но после нескольких кликов я понял, что мне нужно его попробовать.

Это удивительное приложение, которое дает вам возможность визуализировать свои наборы данных и делиться ими с другими через информационные панели. Самое интересное, что эти наборы данных могут храниться в нескольких местах в различных типах хранилищ — я могу запрашивать Postgres, MySQL, BigQuery и многие другие с помощью SQL или вызывать ElasticSearch, Kibana или Mongo с помощью JSON DSL. Список поддерживаемых БД длинный.

Это проект с открытым исходным кодом.



Настраивать

Для начала я подготавливаю скрипт для создания докеров на основе файла примера, предоставленного redash:

Я добавил дополнительную базу данных для хранения набора данных и настроенных томов. Основываясь на последних изменениях в redash GitHub, мне может потребоваться обновить его для поддержки отдельного работника.

Я запускаю следующий скрипт для создания баз данных и настройки пользователя-администратора:



Как я упоминал ранее, redash поддерживает множество типов источников, одним из которых является PostgreSQL. Мне нужно заполнить короткую форму, и я почти готов сделать запрос, мне нужен набор данных.

Загрузка образца набора данных с помощью csvkit

Чтобы загрузить пример набора данных CSV: http://samplecsvs.s3.amazonaws.com/SalesJan2009.csv

Все, что мне нужно сделать, это изменить значения заголовков на строчные (объяснено ниже).

cat SalesJan2009.csv | sed ‘1s/.*/\L&/’ > sales.csv
csvsql –db "postgresql://import:f1d0f8c1s2k1@localhost:5432/imports" –insert sales.csv

Приборная доска

Я готовлю несколько отчетов о продажах продукции, добавляю простую диаграмму.

Через несколько минут приборная панель готова.

Проблемы

Я заметил несколько проблем.

  1. Многое изменилось за последние несколько дней, установка последней версии репозитория требует его сборки из исходников.
  2. «последняя» версия в докере не является последней, более новые версии, хранящиеся в докере, сломаны — они не работают должным образом, поэтому я не рекомендую менять docker-compose, чтобы тянуть другие версии.
  3. Где-то есть проблемы со строчными буквами, которые мне нужно исследовать. Postgresql позволяет создавать таблицы с заглавными буквами, которые мне нужно запрашивать, вводя имена в апострофах. Как-то не работает в редаше.