QuickSight
QuickSight は、公式の MySQL データソースと Direct Query モードを使用して、MySQL インターフェイス経由でオンプレミスの ClickHouse 環境 (23.11+) に接続できます。
オンプレミス ClickHouse サーバーのセットアップ
MySQL インターフェイスを有効にした ClickHouse サーバーのセットアップ方法については、公式ドキュメント を参照してください。
サーバーの config.xml に設定項目を追加することに加えて
MySQL インターフェイスを利用するユーザーには、Double SHA1 password encryption の使用も必須です。
シェルから Double SHA1 で暗号化されたランダムなパスワードを生成するには、次のようにします。
出力は以下のようになります。
1 行目が生成されたパスワードで、2 行目が ClickHouse の設定に使用できるハッシュです。
以下は、生成されたハッシュを使用する mysql_user の設定例です。
/etc/clickhouse-server/users.d/mysql_user.xml
password_double_sha1_hex エントリを、生成した Double SHA1 ハッシュ値に置き換えてください。
QuickSight では、MySQL ユーザーのプロファイルにいくつかの追加設定が必要です。
/etc/clickhouse-server/users.d/mysql_user.xml
ただし、デフォルトのプロファイルではなく、その MySQL ユーザーが使用できる別のプロファイルを割り当てることを推奨します。
最後に、ClickHouse サーバー が目的の IP アドレスで待ち受けるように設定します。
config.xml で、すべてのアドレスで待ち受けるようにするには、次の設定のコメントを解除します:
mysql バイナリが利用可能な場合は、コマンドラインから接続をテストできます。
上記のサンプルのユーザー名 (mysql_user) とパスワード (LZOQYnqQN4L/T6L0) を使用した場合、実行するコマンドは次のとおりです。
QuickSight を ClickHouse に接続する
まず https://quicksight.aws.amazon.com にアクセスし、Datasets セクションに移動して「New dataset」をクリックします。

QuickSight にバンドルされている公式の MySQL コネクタ (名前は MySQL のみ) を検索します。

接続情報を入力します。MySQL インターフェイスのポートはデフォルトで 9004 ですが、 サーバー構成によっては異なる場合がある点に注意してください。

ここで、ClickHouse からデータを取得する方法として 2 つの選択肢があります。1 つ目は、リストからテーブルを選択する方法です。

もう 1 つの方法は、カスタム SQL を指定してデータを取得することです。

「Edit/Preview data」をクリックすると、自動検出されたテーブル構造を確認したり、データへのアクセス方法としてカスタム SQL を選択した場合はその内容を調整したりできます。

UI の左下隅で「Direct Query」モードが選択されていることを確認してください。

これで、データセットを公開して新しいビジュアライゼーションを作成できます。
既知の制限事項
- SPICE インポートは期待どおりに動作しません。代わりに Direct Query モードを使用してください。#58553 を参照してください。