Перейти к основному содержимому
Перейти к основному содержимому

QuickSight

Community Maintained

QuickSight может подключаться к локальной настройке ClickHouse (23.11+) через интерфейс MySQL, используя официальный источник данных MySQL и режим прямого запроса.

Настройка локального сервера ClickHouse

Пожалуйста, обратитесь к официальной документации о том, как настроить сервер ClickHouse с включенным интерфейсом MySQL.

Кроме добавления записи в файл config.xml сервера

<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>

также обязательно использовать шифрование пароля Double SHA1 для пользователя, который будет использовать интерфейс MySQL.

Генерирование случайного пароля, зашифрованного с помощью Double SHA1 из командной оболочки:

PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'

Вывод должен выглядеть следующим образом:

LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4

Первая строка - это сгенерированный пароль, а вторая строка - это хеш, который мы могли бы использовать для настройки ClickHouse.

Вот пример конфигурации для mysql_user, использующего сгенерированный хеш:

/etc/clickhouse-server/users.d/mysql_user.xml

<users>
    <mysql_user>
        <password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
        <networks>
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </mysql_user>
</users>

Замените запись password_double_sha1_hex на ваш собственный сгенерированный хеш Double SHA1.

QuickSight требует несколько дополнительных настроек в профиле пользователя MySQL.

/etc/clickhouse-server/users.d/mysql_user.xml

<profiles>
    <default>
        <prefer_column_name_to_alias>1</prefer_column_name_to_alias>
        <mysql_map_string_to_text_in_show_columns>1</mysql_map_string_to_text_in_show_columns>
        <mysql_map_fixed_string_to_text_in_show_columns>1</mysql_map_fixed_string_to_text_in_show_columns>
    </default>
</profiles>

Тем не менее, рекомендуется назначить это на другой профиль, который может использоваться вашим пользователем MySQL вместо профиля по умолчанию.

Наконец, настройте сервер ClickHouse для прослушивания на желаемом IP-адресе(ах). В config.xml, раскомментируйте следующее, чтобы слушать на всех адресах:

<listen_host>::</listen_host>

Если у вас есть бинарный файл mysql, вы можете протестировать подключение из командной строки. Используя пример имени пользователя (mysql_user) и пароля (LZOQYnqQN4L/T6L0) из вышеуказанного, команда в командной строке будет:

mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0
mysql> show databases;
+--------------------+
| name               |
+--------------------+
| INFORMATION_SCHEMA |
| default            |
| information_schema |
| system             |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.

Подключение QuickSight к ClickHouse

Прежде всего, перейдите по адресу https://quicksight.aws.amazon.com, перейдите в раздел Наборы данных и нажмите "Новый набор данных":

Панель приборов Amazon QuickSight, показывающая кнопку Новый набор данных в разделе Наборы данных

Ищите официальный соединитель MySQL, который поставляется с QuickSight (называется просто MySQL):

Экран выбора источника данных QuickSight с выделенным MySQL в результатах поиска

Укажите ваши данные для подключения. Обратите внимание, что порт интерфейса MySQL по умолчанию равен 9004, и он может отличаться в зависимости от вашей конфигурации сервера.

Форма конфигурации подключения MySQL в QuickSight с полями для имени хоста, порта, базы данных и учетных данных

Теперь у вас есть два варианта, как извлечь данные из ClickHouse. Во-первых, вы можете выбрать таблицу из списка:

Интерфейс выбора таблицы QuickSight, показывающий базы данных, доступные из ClickHouse

В качестве альтернативы вы можете указать собственный SQL для извлечения ваших данных:

Редактор пользовательского SQL запроса QuickSight для извлечения данных из ClickHouse

Нажимая "Редактировать/Предварительный просмотр данных", вы должны увидеть проинспектированную структуру таблицы или настроить свой пользовательский SQL, если вы решили получить доступ к данным таким образом:

Предварительный просмотр данных QuickSight, показывающий структуру таблицы с колонками и примерными данными

Убедитесь, что в нижнем левом углу пользовательского интерфейса выбран режим "Прямой запрос":

Интерфейс QuickSight с выделенным вариантом режима Прямого запроса в нижнем углу

Теперь вы можете продолжать с публикацией вашего набора данных и созданием новой визуализации!

Известные ограничения

  • Импорт SPICE не работает ожидаемым образом; пожалуйста, используйте режим Прямого запроса вместо этого. Смотрите #58553.