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

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

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

接続先
ドロップダウンから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>
形式に従っていることを確認してください(上記を参照)。
オンプレミスの ClickHouse サーバーの設定
Please refer to the official documentation on how to set up a ClickHouse server with enabled MySQL interface.
サーバーの 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 ハッシュに置き換えてください。
さらに、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 Server を希望の IP アドレスでリッスンするように設定します。例えば、config.xml
で、すべてのアドレスでリッスンするように次の行のコメントを外します。
Looker Studio を ClickHouse に接続する
まず、Google アカウントを使用して https://lookerstudio.google.com にログインし、新しいデータソースを作成します。

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

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

次に、ClickHouse からデータを取得する方法について2つのオプションがあります。最初に、テーブルブラウザ機能を使用できます:

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

最後に、内部のテーブル構造を確認し、必要に応じてデータ型を調整できるようになります。

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

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

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