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

Tableau Online

Tableau Online は、MySQL インターフェースを通じて ClickHouse Cloud またはオンプレミスの ClickHouse セットアップに接続できます。

ClickHouse Cloud セットアップ


  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>形式に従っていることを確認してください(上記を参照)。

オンプレミス ClickHouse サーバーセットアップ

以下を参照してください 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 で、すべてのアドレスでリッスンするように以下のコメントを外します:

Tableau Online を ClickHouse に接続する (SSL なしのオンプレミス)

あなたの Tableau Cloud サイトにログインし、新しい公開データソースを追加します。

新しい公開データソースの作成

利用可能なコネクタのリストから「MySQL」を選択します。

MySQL コネクタの選択

ClickHouse セットアップ中に収集した接続情報を指定します。

接続情報の指定

Tableau Online はデータベースをインテロスペクトし、利用可能なテーブルのリストを提供します。使用したいテーブルを右側のキャンバスにドラッグします。さらに、「今すぐ更新」をクリックしてデータをプレビューし、インテロスペクトされたフィールドの型や名前を微調整できます。

使用するテーブルの選択

その後は、右上隅で「公開として」をクリックするだけで、新しく作成されたデータセットを Tableau Online で通常通り使用できるようになります。

注意: Tableau Online を Tableau Desktop と組み合わせて使用し、ClickHouse データセットを共有したい場合は、デフォルトの MySQL コネクタを使用して Tableau Desktop を使用し、データソースのドロップダウンから MySQL を選択した際に表示されるセットアップガイドに従ってください。M1 Mac をお持ちの場合は、ドライバーインストールのワークアラウンドについては このトラブルシューティングスレッドを確認してください。

Tableau Online を ClickHouse に接続する (SSL 使用の Cloud またはオンプレミスセットアップ)

Tableau Online の MySQL 接続セットアップウィザードを通じて SSL 証明書を提供することはできないため、唯一の方法は Tableau Desktop を使用して接続をセットアップし、その後 Tableau Online にエクスポートすることです。このプロセスはそれほど複雑ではありません。

Windows または Mac マシンで Tableau Desktop を実行し、「接続」 -> 「サーバーに接続」 -> 「MySQL」を選択します。 まず、マシンに MySQL ドライバーをインストールする必要があります。これは、データソースのドロップダウンから MySQL を選択した際に表示されるセットアップガイドに従うことで行えます。M1 Mac をお持ちの場合は、ドライバーインストールのワークアラウンドについては このトラブルシューティングスレッドを確認してください。

新しいデータソースの作成
注記

MySQL 接続セットアップ UI では、「SSL」オプションが有効になっていることを確認してください。 ClickHouse Cloud の SSL 証明書は Let's Encrypt によって署名されています。 このルート証明書は こちら からダウンロードできます。

あなたの ClickHouse Cloud インスタンスの MySQL ユーザー認証情報とダウンロードしたルート証明書のパスを指定します。

認証情報の指定

通常通り使用したいテーブルを選択し(Tableau Online と同様に)、 「サーバー」 -> 「データソースを公開」 -> Tableau Cloud を選択します。

データソースを公開

重要: 「認証」オプションで「埋め込みパスワード」を選択する必要があります。

データソースの公開設定 - 認証情報の埋め込み

さらに、「公開データソースを使用するようにワークブックを更新」を選択します。

データソースの公開設定 - オンライン使用のためのワークブックの更新

最後に「公開」をクリックすると、埋め込まれた認証情報を持つデータソースが自動的に Tableau Online で開かれます。

既知の制限 (ClickHouse 23.11)

既知の制限はすべて ClickHouse 23.11 で修正されました。他に互換性の問題が発生した場合は、どうぞお気軽に お問い合わせ いただくか、新しい問題を作成してください。