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

- この特定のサービスのためにMySQLインターフェースを有効にするスイッチを切り替えます。これにより、このサービスの
3306
ポートが公開され、ユニークなMySQLユーザー名を含むMySQL接続画面が表示されます。

既存のサービスに対してMySQLインターフェースを有効にするには:
- サービスが
Running
状態であることを確認し、MySQLインターフェースを有効にしたいサービスをクリックします。左メニューから「Connect」を選択します:

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

- この特定のサービスのためにMySQLインターフェースを有効にするスイッチを切り替えます。これにより、このサービスの
3306
ポートが公開され、ユニークなMySQLユーザー名を含むMySQL接続画面が表示されます。

ClickHouse Cloudでの複数のMySQLユーザーの作成
デフォルトでは、mysql4<subdomain>
という組み込みのユーザーがあり、これはdefault
と同じパスワードを使用します。<subdomain>
部分は、ClickHouse Cloudホスト名の最初のセグメントです。この形式は、セキュアな接続を実装するツールと連携するために必要で、TLSハンドシェイクでSNI情報を提供しないため、ユーザー名に追加のヒントがないと内部ルーティングができなくなります(MySQLコンソールクライアントはそのようなツールの一つです)。
このため、MySQLインターフェースで使用する新しいユーザーを作成する際には、mysql4<subdomain>_<username>
形式に従うことを強く推奨します。ここで、<subdomain>
はCloudサービスを識別するためのヒントであり、<username>
は任意のサフィックスです。
ClickHouse Cloudホスト名がfoobar.us-east1.aws.clickhouse.cloud
の場合、<subdomain>
部分はfoobar
となり、カスタムMySQLユーザー名はmysql4foobar_team1
のようになります。
必要に応じて、MySQLインターフェースで使用する追加のユーザーを作成できます。
-
オプション - カスタムユーザーに適用する設定プロファイルを作成します。例えば、
my_custom_profile
を作成し、後で作成するユーザーで接続する際にデフォルトで適用される追加設定を指定します。prefer_column_name_to_alias
は例として使用されており、他の設定を使用してもかまいません。 -
ユーザーを作成する際に、
mysql4<subdomain>_<username>
形式を使用します(上記を参照)。パスワードはダブルSHA1形式でなければなりません。例えば:または、このユーザーにカスタムプロファイルを使用する場合:
ここで、
my_custom_profile
は前に作成したプロファイルの名前です。 -
権限を付与し、新しいユーザーに必要なテーブルやデータベースとのインタラクションの権限を与えます。例えば、
system.query_log
のみへのアクセスを付与したい場合は: -
作成したユーザーを使用してMySQLインターフェースでClickHouse Cloudサービスに接続します。
ClickHouse Cloudでの複数のMySQLユーザーのトラブルシューティング
新しいMySQLユーザーを作成したが、MySQL CLIクライアントで接続中に次のエラーが表示される場合:
この場合、ユーザー名がmysql4<subdomain>_<username>
形式に従っていることを確認してください(上記を参照)。
On-premise ClickHouse Server Setup
以下を参照してください the official documentation で、MySQLインターフェースを有効にしたClickHouseサーバーのセットアップ方法を確認できます。
サーバーの config.xml
にエントリを追加することに加えて
MySQLインターフェースを使用するユーザーについては 必須 で Double SHA1 password encryption を使用する必要があります。
シェルからDouble SHA1で暗号化されたランダムパスワードを生成する方法:
出力は以下のようになります:
最初の行は生成されたパスワードで、2行目はClickHouseの設定に使用できるハッシュです。
以下は、生成されたハッシュを使用する mysql_user
の設定例です:
/etc/clickhouse-server/users.d/mysql_user.xml
password_double_sha1_hex
エントリを独自に生成したDouble SHA1ハッシュに置き換えてください。
さらに、use_mysql_types_in_show_columns
を使用することをお勧めします。これにより、SHOW [FULL] COLUMNS
クエリ結果でClickHouseの型ではなく、ネイティブのMySQL型が表示されるため、BIツールがMySQLコネクタを使用してデータベーススキーマを適切に調査できます。
例えば:
/etc/clickhouse-server/users.d/mysql_user.xml
または、デフォルトのプロファイルの代わりに別のプロファイルに割り当てることができます。
mysql
バイナリが利用可能であれば、コマンドラインから接続をテストできます。
上記のサンプルユーザー名(mysql_user
)とパスワード(LZOQYnqQN4L/T6L0
)を使用する場合、コマンドラインは次のようになります:
最後に、Clickhouseサーバーが希望のIPアドレスで待機するように設定します。例えば、config.xml
で、すべてのアドレスでリッスンするように以下のコメントを外します:
Connecting Looker Studio to ClickHouse
まず、Googleアカウントを使用して https://lookerstudio.google.com にログインし、新しいデータソースを作成します:

Googleが提供する公式のMySQLコネクタ(MySQLという名前)の検索を行います:

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

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

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

最後に、照会したテーブル構造が表示され、必要に応じてデータ型を調整することができます。

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

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

残りの手順は、前のセクションに記載されているものと同様です。