Несколько дней назад я наткнулся на очень красивое приложение под названием 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
Приборная доска
Я готовлю несколько отчетов о продажах продукции, добавляю простую диаграмму.
Через несколько минут приборная панель готова.
Проблемы
Я заметил несколько проблем.
- Многое изменилось за последние несколько дней, установка последней версии репозитория требует его сборки из исходников.
- «последняя» версия в докере не является последней, более новые версии, хранящиеся в докере, сломаны — они не работают должным образом, поэтому я не рекомендую менять docker-compose, чтобы тянуть другие версии.
- Где-то есть проблемы со строчными буквами, которые мне нужно исследовать. Postgresql позволяет создавать таблицы с заглавными буквами, которые мне нужно запрашивать, вводя имена в апострофах. Как-то не работает в редаше.