Просто данные в Clickhouse - это не очень интересно. Данные нужно использовать для принятия решений, а для этого нужна визуализация, с чем отлично справляется Microsoft PowerBI.
Таким образом можно разнести задачи расчётов данных до нужных группировок и их визуализации между КХ и ПБИ.
Допустим мы написали запрос, довольны результатом и хотим теперь получить эти же данные в Power BI. И не просто перенести, а соединить, чтобы при добавление данных в КХ они автоматически появлялись в PBI.

Вот запрос:
У Clickhouse есть несколько интерфейсов (способов взаимодействовать с ним), в том числе HTTP.
Если вбить в строке браузера ip вашего сервера и порт 8123 (например 85.143.173.214:8123)- то появится Ok. Это значит, что мы обратились к серверу и он нам ответил.
Чтобы получить данные достаточно добавить гет-парамет ?query= с вашим запросом в значение.

В ответ на запрос скачивается файлик без расширения, но его можно открыть любым редактором, например notepad++. Файл содержит результат запроса без заголовков с разделителем табуляцией.
Разработчики Clickhouse предусмотрели, что это не всегда удобно и добавили специальную SQL команду FORMAT, для указания формата ответа. Про все виды можно почитать в документации. На мой взгляд самый удобный - TSVWithNames. FORMAT добавляется в самый конец запроса.
Если подставить этот запрос с форматом в ip:port?query=select...
То на выходе получим файл, содержащий данные с заголовками.
Такой формат очень удобен для передачи в PBI. А PBI в свою очередь, умеет получать данные по веб-запросам.
1. Создаём новый источник данных - из Web
2. В качестве урла подставляем подготовленную строку запроса
3. Выбираем формат дынных (CSV)
4. PBI сам распознает заголовки и тип данных
5. С появившимися данными можно строить диаграммы.
Комментарии