Looker Studio は、Google 公式の MySQL データソースを使用して、MySQL インターフェイス経由で ClickHouse に接続できます。
ClickHouse Cloud の設定
[object Object]
ClickHouse Cloud サービスを作成したら、Connect your app 画面でドロップダウンから MySQL を選択します。

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

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

[object Object]
Connect With ドロップダウンから MySQL を選択します。

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

ClickHouse Cloud で読み取り専用の MySQL ユーザーを作成する
ClickHouse Cloud では、デフォルトユーザーと同じパスワードを共有する mysql4<subdomain> ユーザーが自動的に作成されます。
<subdomain> の部分は、ClickHouse Cloud のホスト名の先頭部分に対応します。
このユーザー名形式は、安全な接続を確立しても TLS ハンドシェイクに SNI (Server Name Indication) 情報を含めないツールとの互換性のために必要です。 SNI 情報がないと、システムは適切な内部ルーティングを実行できないため、ユーザー名に埋め込まれたサブドメイン情報が必要なルーティング情報を補います。 MySQL コンソールクライアントは、その一例です。
読み取り専用の設定プロファイルを作成する
読み取り専用ユーザーに適用する 設定プロファイル を作成し、
readonly 設定を 1 にします。
CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1新しい読み取り専用の MySQL ユーザーを作成する
次の形式の名前で ユーザーを作成 します。
mysql4<subdomain>_<username>新しいユーザーに readonly_profile を適用し、パスワードがダブル SHA1 フォーマットであることを確認してください。例:
CREATE USER mysql4foobar_readonly
IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
SETTINGS PROFILE 'readonly_profile';新しいユーザーに必要なテーブルへのアクセス権限を付与する
必要なテーブルまたはデータベースを操作できるように、新しいユーザーに必要な権限を 付与 します。
たとえば、system.query_log のみにアクセスを許可する場合は次のとおりです。
GRANT SELECT ON system.query_log TO mysql4foobar_readonly;新しく作成したユーザーは、MySQL インターフェイスを使用して ClickHouse Cloud サービスに接続する際に利用できます。
ClickHouse Cloud で複数の MySQLユーザーをトラブルシューティングする
新しい MySQLユーザーを作成し、MySQL CLI クライアント経由で接続した際に次のエラーが表示される場合:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54この場合、ユーザー名が上記で説明した mysql4<subdomain>_<username> 形式に従っていることを確認してください。
オンプレミスのClickHouseサーバーのセットアップ
MySQL インターフェイスを有効にした ClickHouse server の設定方法については、公式ドキュメントを参照してください。
サーバーの config.xml にエントリを追加する以外に
<clickhouse>
<mysql_port>9004</mysql_port>
</clickhouse>また、MySQL インターフェイスを使用するユーザーには、 ダブル SHA1 パスワード暗号化 の使用が必須です。
シェルからダブル SHA1 で暗号化されたランダムなパスワードを生成するには:
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'出力は以下のようになります。
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee41行目は生成されたパスワードで、2行目は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 ハッシュに置き換えてください。
さらに、SHOW [FULL] COLUMNS クエリの結果に ClickHouse の型ではなくネイティブな MySQL 型を表示するため、use_mysql_types_in_show_columns を使用することを推奨します。
これにより、MySQL コネクタを使用する際に、BI ツールがデータベースのスキーマを適切に解析できるようになります。
例:
/etc/clickhouse-server/users.d/mysql_user.xml
<profiles>
<default>
<use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
</default>
</profiles>または、デフォルトではなく別のプロファイルに割り当てます。
mysql バイナリが利用できる場合は、コマンドラインから接続をテストできます。
上記のサンプルのユーザー名 (mysql_user) とパスワード (LZOQYnqQN4L/T6L0) を使用すると、コマンドラインは次のようになります。
mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0mysql> 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.最後に、ClickHouse Server が指定した IP アドレスで待ち受けるよう設定します。たとえば、config.xml で全アドレスを待ち受けるには、以下のコメントアウトを解除します。
<listen_host>::</listen_host> Looker Studio を ClickHouse に接続する
まず、Google アカウントで Looker Studio にログインし、新しいデータソースを作成します。

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

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

ここからは、ClickHouse からデータを取得する方法が 2 つあります。1 つ目は、Table Browser 機能を使用する方法です。

または、カスタムクエリを指定してデータを取得することもできます。

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

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

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

以降の手順は、前のセクションに記載したものと同じです。