メインコンテンツまでスキップ
メインコンテンツまでスキップ

Looker Studio

Looker Studioは、公式のGoogle MySQLデータソースを使用して、MySQLインターフェース経由でClickHouseに接続することができます。

ClickHouse Cloud Setup


  1. ClickHouse Cloudサービスを作成した後、Connect your app画面でドロップダウンからMySQLを選択します。

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

既存のサービスに対してMySQLインターフェースを有効にするには:

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

Connection screen - Prompt MySQL

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

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

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インターフェースで使用する追加のユーザーを作成できます。

  1. オプション - カスタムユーザーに適用する設定プロファイルを作成します。例えば、my_custom_profileを作成し、後で作成するユーザーで接続する際にデフォルトで適用される追加設定を指定します。

    prefer_column_name_to_aliasは例として使用されており、他の設定を使用してもかまいません。

  2. ユーザーを作成する際に、mysql4<subdomain>_<username>形式を使用します(上記を参照)。パスワードはダブルSHA1形式でなければなりません。例えば:

    または、このユーザーにカスタムプロファイルを使用する場合:

    ここで、my_custom_profileは前に作成したプロファイルの名前です。

  3. 権限を付与し、新しいユーザーに必要なテーブルやデータベースとのインタラクションの権限を与えます。例えば、system.query_logのみへのアクセスを付与したい場合は:

  4. 作成したユーザーを使用して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 にログインし、新しいデータソースを作成します:

Creating a new data source

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

MySQL connector search

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

Specifying the connection details

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

Using the Table Browser

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

Using a custom query to fetch the data

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

Viewing the introspected table structure

これでデータを探索したり、新しいレポートを作成したりすることができます!

Using Looker Studio with ClickHouse Cloud

ClickHouse Cloudを使用する場合、まずMySQLインターフェースを有効にする必要があります。それは接続ダイアログの「MySQL」タブで行えます。

Looker Studio Require MySQL enabled first

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

Looker Studio with ClickHouse Cloud SSL Config

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