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,导航到数据集,然后单击“新建数据集”。
搜索 QuickSight 捆绑的官方 MySQL 连接器(仅命名为 **MySQL**)。
指定您的连接详细信息。请注意,MySQL 接口端口默认为 9004,具体取决于您的服务器配置,它可能有所不同。
现在,您有两种从 ClickHouse 获取数据的方法。首先,您可以从列表中选择一个表
或者,您可以指定自定义 SQL 来获取您的数据
通过单击“编辑/预览数据”,您应该能够查看内省的表结构或调整自定义 SQL(如果这是您决定访问数据的方式)。
确保在 UI 的左下角选择了“直接查询”模式。
现在,您可以继续发布数据集并创建新的可视化效果!
已知限制
- SPICE 导入无法按预期工作;请改用直接查询模式。请参阅 #58553。