QuickSight
QuickSight 可以通过 MySQL 接口使用官方 MySQL 数据源和直接查询模式连接到本地 ClickHouse 设置 (23.11+)。
本地 ClickHouse 服务器设置
请参考官方文档,了解如何设置启用 MySQL 接口的 ClickHouse 服务器。
除了在服务器的 config.xml
中添加条目
<clickhouse>
<mysql_port>9004</mysql_port>
</clickhouse>
还必须为将使用 MySQL 接口的用户使用双 SHA1 密码加密。
从 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>
<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,导航到“数据集”,然后单击“新建数据集”

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

指定您的连接详细信息。请注意,MySQL 接口端口默认为 9004,并且可能因您的服务器配置而异。

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

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

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

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

现在,您可以继续发布数据集并创建新的可视化!
已知限制
- SPICE 导入无法按预期工作;请改用直接查询模式。请参阅#58553。