Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

QuickSight

Suportado pelo ClickHouse

O QuickSight pode se conectar a uma instalação on-premise do ClickHouse (23.11+) pela interface MySQL, usando a fonte de dados oficial do MySQL e o modo Direct Query.

Configuração do servidor ClickHouse on-premise

Consulte a documentação oficial para saber como configurar um servidor ClickHouse com a interface MySQL habilitada.

Além de adicionar uma entrada ao config.xml do servidor

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

também é obrigatório usar criptografia de senha Double SHA1 para o usuário que usará a interface MySQL.

Gerando uma senha aleatória criptografada com Double SHA1 no shell:

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

A saída deve ser semelhante ao exemplo abaixo:

LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4

A primeira linha é a senha gerada, e a segunda é o hash que podemos usar para configurar o ClickHouse.

Aqui está um exemplo de configuração para mysql_user que usa o hash gerado:

/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>

Substitua a entrada password_double_sha1_hex pelo hash Double SHA1 gerado por você.

O QuickSight exige várias configurações adicionais no perfil do usuário 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>

No entanto, recomenda-se atribuí-lo a um perfil diferente, que seu usuário MySQL possa usar, em vez do perfil padrão.

Por fim, configure o servidor ClickHouse para ouvir no(s) endereço(s) IP desejado(s). Em config.xml, descomente o trecho a seguir para ouvir em todos os endereços:

<listen_host>::</listen_host>

Se você tiver o binário mysql disponível, poderá testar a conexão pela linha de comando. Usando o nome de usuário de exemplo (mysql_user) e a senha (LZOQYnqQN4L/T6L0) mencionados acima, o comando seria:

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.

Conectando o QuickSight ao ClickHouse

Antes de tudo, acesse https://quicksight.aws.amazon.com, vá até Datasets e clique em "New dataset":

Painel do Amazon QuickSight mostrando o botão New dataset na seção Datasets

Procure o conector oficial do MySQL disponível no QuickSight (chamado simplesmente de MySQL):

Tela de seleção de fonte de dados do QuickSight com MySQL destacado nos resultados da busca

Informe os detalhes da conexão. Observe que a porta da interface MySQL é 9004 por padrão e pode ser diferente, dependendo da configuração do seu servidor.

Formulário de configuração da conexão MySQL do QuickSight com campos de hostname, porta, banco de dados e credenciais

Agora, você tem duas opções para buscar os dados do ClickHouse. Primeiro, pode selecionar uma tabela na lista:

Interface de seleção de tabela do QuickSight mostrando as tabelas do banco de dados disponíveis no ClickHouse

Como alternativa, você pode informar um SQL personalizado para buscar seus dados:

Editor de SQL personalizado do QuickSight para buscar dados do ClickHouse

Ao clicar em "Edit/Preview data", você poderá ver a estrutura da tabela identificada automaticamente ou ajustar seu SQL personalizado, caso tenha decidido acessar os dados dessa forma:

Pré-visualização de dados do QuickSight mostrando a estrutura da tabela com colunas e dados de exemplo

Certifique-se de que o modo "Direct Query" esteja selecionado no canto inferior esquerdo da interface:

Interface do QuickSight com a opção de modo Direct Query destacada no canto inferior

Agora você pode publicar seu dataset e criar uma nova visualização!

Limitações conhecidas

  • A importação do SPICE não funciona como esperado; use o modo Direct Query. Veja #58553.
Navigation