Looker Studio
Looker Studio は、公式の Google MySQL データソースを使用して、MySQL インターフェース経由で ClickHouse に接続できます。
ClickHouse Cloud のセットアップ
MySQL インターフェイスを有効化する
このサービスで MySQL インターフェイスを有効化するために、スイッチをオンにします。
これにより、このサービスでポート 3306 が公開され、固有の MySQL ユーザー名を含む MySQL 接続画面が表示されます。

既存のサービスに対して MySQL インターフェイスを有効化する場合は、次の手順を実行します。
Connect を選択する
対象のサービスが Running 状態であることを確認し、MySQL インターフェイスを有効化したいサービスをクリックします。
左側のメニューから "Connect" を選択します。

MySQL インターフェイスを有効化する
このサービスで MySQL インターフェイスを有効化するために、スイッチをオンにします。
これにより、このサービスでポート 3306 が公開され、固有の MySQL ユーザー名を含む MySQL 接続画面が表示されます。

ClickHouse Cloud で読み取り専用の MySQL ユーザーを作成する
ClickHouse Cloud は、デフォルトユーザーと同じパスワードを共有する mysql4<subdomain> ユーザーを自動的に作成します。
<subdomain> 部分は、ClickHouse Cloud のホスト名の先頭部分に対応します。
このユーザー名フォーマットは、安全な接続を確立するものの、TLS ハンドシェイク内に SNI (Server Name Indication) 情報を含めないツールとの互換性を確保するために必要です。 SNI 情報がない場合、システムは適切な内部ルーティングを行えないため、ユーザー名に埋め込まれたサブドメインのヒントによって必要なルーティング情報を提供します。 MySQL コンソールクライアントは、この要件を持つツールの一例です。
推奨されるベストプラクティスは、新しい読み取り専用の MySQL ユーザーを作成することです。
foobar.us-east1.aws.clickhouse.cloud のような ClickHouse Cloud のホスト名では、<subdomain> 部分は foobar に相当し、カスタム MySQL ユーザー名は mysql4foobar_team1 のようになります。
ClickHouse Cloud で複数の MySQL ユーザーに関するトラブルシューティング
新しい MySQL ユーザーを作成した後に、MySQL CLI クライアント経由で接続しようとした際、次のエラーが表示される場合:
この場合は、ユーザー名が 上記 で説明したとおり mysql4<subdomain>_<username> 形式になっていることを確認してください。
オンプレミス環境での 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 ハッシュ値に置き換えてください。
さらに、SHOW [FULL] COLUMNS クエリ結果で ClickHouse の型ではなくネイティブな MySQL 型を表示するために、
use_mysql_types_in_show_columns を使用することを推奨します。
これにより、MySQL コネクタを使用する際に、BI ツールがデータベーススキーマを正しく解析できるようになります。
例:
/etc/clickhouse-server/users.d/mysql_user.xml
または、デフォルトプロファイルではなく別のプロファイルに割り当てます。
mysql バイナリが利用可能な場合は、コマンドラインから接続をテストできます。
上記のサンプルのユーザー名(mysql_user)とパスワード(LZOQYnqQN4L/T6L0)を使用した場合、コマンドは次のようになります。
最後に、ClickHouse Server が指定した IP アドレスで待ち受けるように設定します。たとえば config.xml では、すべてのアドレスで待ち受けるために、次の設定のコメントアウトを解除します。
Looker Studio を ClickHouse に接続する
まず、Google アカウントで https://lookerstudio.google.com にログインし、新しい Data Source を作成します:

Google が提供する公式の MySQL コネクタ(名前は MySQL)を検索します:

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

次に、ClickHouse からデータを取得する方法として 2 つの方法があります。1 つ目は、Table Browser 機能を使用する方法です:

もう 1 つは、カスタム SQL クエリを指定してデータを取得する方法です:

最後に、自動解析されたテーブル構造を確認し、必要に応じてデータ型を調整できます。

これで、データの探索や新しいレポートの作成に進むことができます。
ClickHouse Cloud で Looker Studio を使用する
ClickHouse Cloud を使用する場合は、まず MySQL インターフェイスを有効にする必要があります。接続ダイアログの「MySQL」タブで有効にできます。

Looker Studio の UI では、「Enable SSL」オプションを選択します。ClickHouse Cloud の SSL 証明書は Let's Encrypt によって署名されています。このルート証明書は こちら からダウンロードできます。

残りの手順は前のセクションで説明した内容と同じです。

