QuickSight
QuickSight は、公式の MySQL データソースおよびダイレクトクエリモードを使用して、オンプレミスの ClickHouse セットアップ (23.11+) に接続できます。
オンプレミス ClickHouse サーバー設定
ClickHouse サーバーを MySQL インターフェースで設定する方法については、公式ドキュメント を参照してください。
サーバーの config.xml
にエントリを追加することに加えて、
MySQL インターフェースを使用するユーザーには、Double SHA1 パスワード暗号化 を使用することが_必須_です。
シェルから Double SHA1 で暗号化されたランダムパスワードを生成するコマンド:
出力は以下のようになります:
最初の行は生成されたパスワードで、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 に移動し、データセットに移動して「新しいデータセット」をクリックします:

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

接続の詳細を指定します。MySQL インターフェースのポートはデフォルトで 9004 ですが、サーバーの設定によって異なる場合があります。

次に、ClickHouse からデータを取得するための 2 つのオプションがあります。最初に、リストからテーブルを選択できます:

あるいは、カスタム SQL を指定してデータを取得することもできます:

「データの編集/プレビュー」をクリックすると、インタラクションされたテーブルの構造が表示されるか、データにアクセスする方法としてカスタム SQL を調整することができます:

UI の左下隅で「ダイレクトクエリ」モードが選択されていることを確認してください:

これで、データセットを公開し、新しいビジュアライゼーションを作成できます!
知られている制限
- SPICE インポートは期待通りに動作しません。代わりにダイレクトクエリモードを使用してください。詳細は #58553 を参照してください。