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

Tableau Online

Tableau Onlineは、公式のMySQLデータソースを使用して、ClickHouse CloudまたはオンプレミスのClickHouseセットアップにMySQLインターフェイス経由で接続できます。

ClickHouse Cloudの設定


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

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

既存のサービスに対してMySQLインターフェースを有効にするには、以下の手順を実行します:

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


  1. 接続先ドロップダウンからMySQLを選択します。


  1. この特定のサービスに対して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インターフェースで使用するための追加ユーザーを作成することができます。たとえば、追加の設定を適用したい場合などです。

  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サーバーの設定

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 で、すべてのアドレスでリッスンするように次の行のコメントを外します。

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

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


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


ClickHouseの設定中に収集した接続詳細を指定します。


Tableau Onlineはデータベースを調査し、利用可能なテーブルのリストを提供します。必要なテーブルを右側のキャンバスにドラッグします。また、「Update Now」をクリックしてデータをプレビューしたり、調査したフィールドタイプや名前を微調整することもできます。


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

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

Tableau OnlineをClickHouseに接続する(SSLを使用したCloudまたはオンプレミスの設定)

Tableau OnlineのMySQL接続設定ウィザードからSSL証明書を提供することはできないため、唯一の方法はTableau Desktopを使用して接続を設定し、それをTableau Onlineにエクスポートすることです。しかし、このプロセスはかなり簡単です。

WindowsまたはMacマシンでTableau Desktopを実行し、「Connect」->「To a Server」->「MySQL」を選択します。最初にマシンにMySQLドライバーをインストールする必要がある場合があります。データソースドロップダウンからMySQLを選択すると表示されるセットアップガイドに従ってこれを行うことができます。M1 Macを使用している場合は、このトラブルシューティングスレッドをチェックしてドライバーのインストール回避策を確認してください。


注記

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

ClickHouse CloudインスタンスのMySQLユーザー資格情報とダウンロードしたルート証明書へのパスを提供します。


希望のテーブルを通常通り選択し(Tableau Onlineと同様に)、 「Server」->「Publish Data Source」-> Tableau Cloudを選択します。


重要: 「Authentication」オプションで「Embedded password」を選択する必要があります。


さらに、「Update workbook to use the published data source」オプションを選択します。


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

知られている制限事項 (ClickHouse 23.11)

すべての知られている制限事項はClickHouse 23.11で修正されました。他に互換性のない問題が発生した場合は、お問い合わせいただくか、新しいイシューを作成してください。