Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Tableau Online

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

ClickHouse Cloud の設定

[object Object]

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

MySQL インターフェイス選択用のドロップダウンが表示された ClickHouse Cloud 認証情報画面

MySQL インターフェイスを有効にする

このサービスで MySQL インターフェイスを有効にするには、スイッチをオンにします。 これにより、このサービスでポート 3306 が公開され、固有の MySQL ユーザー名を含む MySQL 接続画面が表示されます。

MySQL インターフェイスを有効にするトグルと接続詳細が表示された ClickHouse Cloud 画面

また、既存のサービスで MySQL インターフェイスを有効にする場合は、次の手順に従います。

[object Object]

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

Connect オプションが強調表示された ClickHouse Cloud サービス接続画面

[object Object]

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

MySQL オプションの選択が表示された ClickHouse Cloud 接続画面

MySQL インターフェイスを有効にする

このサービスで MySQL インターフェイスを有効にするには、スイッチをオンにします。 これにより、このサービスでポート 3306 が公開され、固有の MySQL ユーザー名を含む MySQL 接続画面が表示されます。

MySQL インターフェイスが有効になり、接続詳細が表示された ClickHouse Cloud 接続画面

ClickHouse Cloud で読み取り専用の MySQL ユーザーを作成する

ClickHouse Cloud では、デフォルトユーザーと同じパスワードを共有する mysql4<subdomain> ユーザーが自動的に作成されます。 <subdomain> の部分は、ClickHouse Cloud のホスト名の先頭部分に対応します。

このユーザー名形式は、安全な接続を確立しても TLS ハンドシェイクに SNI (Server Name Indication) 情報を含めないツールとの互換性のために必要です。 SNI 情報がないと、システムは適切な内部ルーティングを実行できないため、ユーザー名に埋め込まれたサブドメイン情報が必要なルーティング情報を補います。 MySQL コンソールクライアントは、その一例です。

読み取り専用の設定プロファイルを作成する

読み取り専用ユーザーに適用する 設定プロファイル を作成し、 readonly 設定を 1 にします。

CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1

新しい読み取り専用の MySQL ユーザーを作成する

次の形式の名前で ユーザーを作成 します。

mysql4<subdomain>_<username>

新しいユーザーに readonly_profile を適用し、パスワードがダブル SHA1 フォーマットであることを確認してください。例:

CREATE USER mysql4foobar_readonly
IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
SETTINGS PROFILE 'readonly_profile';

新しいユーザーに必要なテーブルへのアクセス権限を付与する

必要なテーブルまたはデータベースを操作できるように、新しいユーザーに必要な権限を 付与 します。 たとえば、system.query_log のみにアクセスを許可する場合は次のとおりです。

GRANT SELECT ON system.query_log TO mysql4foobar_readonly;

新しく作成したユーザーは、MySQL インターフェイスを使用して ClickHouse Cloud サービスに接続する際に利用できます。

ClickHouse Cloud で複数の MySQLユーザーをトラブルシューティングする

新しい MySQLユーザーを作成し、MySQL CLI クライアント経由で接続した際に次のエラーが表示される場合:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54

この場合、ユーザー名が上記で説明した mysql4<subdomain>_<username> 形式に従っていることを確認してください。

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

MySQL インターフェイスを有効にした ClickHouse server の設定方法については、公式ドキュメントを参照してください。

サーバーの config.xml にエントリを追加する以外に

<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>

また、MySQL インターフェイスを使用するユーザーには、 ダブル SHA1 パスワード暗号化 の使用が必須です。

シェルからダブル SHA1 で暗号化されたランダムなパスワードを生成するには:

PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'

出力は以下のようになります。

LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4

1行目は生成されたパスワードで、2行目はClickHouseの設定に使用できるハッシュです。

以下は、生成されたハッシュを使用する mysql_user の設定例です。

/etc/clickhouse-server/users.d/mysql_user.xml

<users>
    <mysql_user>
        <password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
        <networks>
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </mysql_user>
</users>

password_double_sha1_hex エントリを、自分で生成したダブル SHA1 ハッシュに置き換えてください。

さらに、SHOW [FULL] COLUMNS クエリの結果に ClickHouse の型ではなくネイティブな MySQL 型を表示するため、use_mysql_types_in_show_columns を使用することを推奨します。 これにより、MySQL コネクタを使用する際に、BI ツールがデータベースのスキーマを適切に解析できるようになります。

例:

/etc/clickhouse-server/users.d/mysql_user.xml

<profiles>
    <default>
        <use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
    </default>
</profiles>

または、デフォルトではなく別のプロファイルに割り当てます。

mysql バイナリが利用できる場合は、コマンドラインから接続をテストできます。 上記のサンプルのユーザー名 (mysql_user) とパスワード (LZOQYnqQN4L/T6L0) を使用すると、コマンドラインは次のようになります。

mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0
mysql> show databases;
+--------------------+
| name               |
+--------------------+
| INFORMATION_SCHEMA |
| default            |
| information_schema |
| system             |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.

最後に、ClickHouse Server が指定した IP アドレスで待ち受けるよう設定します。たとえば、config.xml で全アドレスを待ち受けるには、以下のコメントアウトを解除します。

<listen_host>::</listen_host> 

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

Tableau Cloud サイトにログインし、新しい Published Data Source を追加します。

Published Data Source を作成するための「New」ボタンが表示された Tableau Online のインターフェイス

使用可能なコネクタの一覧から "MySQL" を選択します。

MySQL オプションが強調表示された Tableau Online のコネクタ選択画面

ClickHouse のセットアップ時に取得した接続情報を入力します。

server、port、database、認証情報の各フィールドがある Tableau Online の MySQL 接続設定画面

Tableau Online がデータベースを読み取り、利用可能なテーブルの一覧を表示します。目的のテーブルを右側のキャンバスへドラッグします。さらに、"Update Now" をクリックしてデータをプレビューしたり、読み取られたフィールドの型や名前を調整したりできます。

左側にデータベーステーブル、右側にドラッグアンドドロップ可能なキャンバスが表示された Tableau Online のデータソースページ

あとは右上の "Publish As" をクリックするだけで、新しく作成したデータセットを Tableau Online で通常どおり使用できるようになります。

注: Tableau Online を Tableau Desktop と併用し、両者の間で ClickHouse のデータセットを共有したい場合は、Tableau Desktop 側でも既定の MySQL コネクタを使用してください。その際は、Data Source ドロップダウンから MySQL を選択すると表示されるセットアップガイド (こちら) に従ってください。M1 Mac を使用している場合は、ドライバーのインストール回避策について このトラブルシューティングスレッド を確認してください。

Tableau Online を ClickHouse に接続する (SSL を使用するクラウドまたはオンプレミス環境)

Tableau Online の MySQL 接続設定ウィザードでは SSL 証明書を指定できないため、 接続を設定するには Tableau Desktop を使用し、その後 Tableau Online にエクスポートする必要があります。ただし、この手順自体はそれほど複雑ではありません。

Windows または Mac マシンで Tableau Desktop を起動し、"Connect" -> "To a Server" -> "MySQL" を選択します。 おそらく、最初にマシンへ MySQL ドライバーをインストールする必要があります。 インストール方法については、Data Source のドロップダウンで MySQL を選択すると表示される こちら のセットアップガイドに従ってください。 M1 Mac を使用している場合は、ドライバーのインストール回避策について このトラブルシューティングスレッド を確認してください。

MySQL オプションが強調表示された Connect メニューを示す Tableau Desktop のインターフェイス

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

SSL オプションが有効になっており、server、username、password、certificate の各フィールドが表示された Tableau Desktop の MySQL 接続ダイアログ

通常どおり必要なテーブルを選択し (Tableau Online の場合と同様) 、 "Server" -> "Publish Data Source" -> Tableau Cloud を選択します。

Publish Data Source オプションが強調表示された Server メニューを示す Tableau Desktop

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

Embedded password が選択された Authentication オプションを示す Tableau Desktop の公開ダイアログ

さらに、"Update workbook to use the published data source" を選択します。

'Update workbook to use the published data source' オプションがチェックされた Tableau Desktop の公開ダイアログ

最後に "Publish" をクリックすると、認証情報が埋め込まれたデータソースが Tableau Online で自動的に開きます。

既知の制限事項 (ClickHouse 23.11)

これらの既知の制限事項は、ClickHouse 23.11 ですべて修正されています。ほかに互換性の問題が見つかった場合は、お問い合わせいただくか、新しい Issue を作成してください。

Navigation