跳至主要内容

QuickSight

QuickSight 可以通过使用官方 MySQL 数据源和直接查询模式,通过 MySQL 接口连接到本地 ClickHouse 设置 (23.11+)。

本地 ClickHouse 服务器设置

请参阅 官方文档,了解如何设置启用了 MySQL 接口的 ClickHouse 服务器。

除了在服务器的 config.xml 中添加条目外

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

还需要使用 双 SHA1 密码加密 用于将使用 MySQL 接口的用户。

从 shell 生成使用双 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 条目替换为您自己生成的双 SHA1 哈希值。

QuickSight 需要 MySQL 用户配置文件中的几个其他设置。

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

<profiles>
<default>
<prefer_column_name_to_alias>1</prefer_column_name_to_alias>
<allow_experimental_analyzer>1</allow_experimental_analyzer>
<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,导航到数据集,然后单击“新建数据集”。

Creating a new dataset

搜索 QuickSight 捆绑的官方 MySQL 连接器(仅命名为 **MySQL**)。

MySQL connector search

指定您的连接详细信息。请注意,MySQL 接口端口默认为 9004,具体取决于您的服务器配置,它可能有所不同。

Specifying the connection details

现在,您有两种从 ClickHouse 获取数据的方法。首先,您可以从列表中选择一个表

Selecting a table from the list

或者,您可以指定自定义 SQL 来获取您的数据

Using custom SQL to fetch the data

通过单击“编辑/预览数据”,您应该能够查看内省的表结构或调整自定义 SQL(如果这是您决定访问数据的方式)。

Viewing the introspected table structure

确保在 UI 的左下角选择了“直接查询”模式。

Choosing the Direct Query mode

现在,您可以继续发布数据集并创建新的可视化效果!

已知限制

  • SPICE 导入无法按预期工作;请改用直接查询模式。请参阅 #58553