Skip to main content
Edit this page

QuickSight

QuickSightは、公式のMySQLデータソースおよびDirect Queryモードを使用して、MySQLインターフェースを介してオンプレミスのClickHouseセットアップ(23.11+)に接続できます。

オンプレミスClickHouseサーバーの設定

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

サーバーのconfig.xmlにエントリを追加することに加えて

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

Double SHA1パスワード暗号化を使用することが必須です。ユーザーがMySQLインターフェースを使用する際の設定です。

シェルからDouble 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のエントリを、自分で生成したDouble SHA1ハッシュに置き換えてください。

QuickSightは、MySQLユーザーのプロファイルにいくつかの追加設定が必要です。

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

<profiles>
<default>
<prefer_column_name_to_alias>1</prefer_column_name_to_alias>
<allow_experimental_analyzer>1</allow_experimental_analyzer>
<mysql_map_string_to_text_in_show_columns>1</mysql_map_string_to_text_in_show_columns>
<mysql_map_fixed_string_to_text_in_show_columns>1</mysql_map_fixed_string_to_text_in_show_columns>
</default>
</profiles>

ただし、これをデフォルトのものではなく、MySQLユーザーが使用できる別のプロファイルに割り当てることをお勧めします。

最後に、ClickHouseサーバーを希望するIPアドレスでリッスンするように設定します。 config.xmlで、次の部分のコメントを解除して、すべてのアドレスでリッスンするように設定します:

<listen_host>::</listen_host> 

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.

QuickSightとClickHouseの接続

まず、https://quicksight.aws.amazon.com にアクセスし、[データセット] に移動して、「新しいデータセット」をクリックします。

Creating a new dataset

QuickSightにバンドルされている公式のMySQLコネクタ(MySQLのみ)を検索します。

MySQL connector search

接続の詳細を指定します。 MySQLインターフェースのポートはデフォルトで9004で、サーバー構成により異なる場合があります。

Specifying the connection details

次に、ClickHouseからデータを取得する方法として2つのオプションがあります。 まず、リストからテーブルを選択する方法です。

Selecting a table from the list

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

Using custom SQL to fetch the data

「データの編集/プレビュー」をクリックすると、イントロスペクトされたテーブル構造を確認するか、データを取得する方法としてカスタムSQLを使用する場合は調整を行うことができます。

Viewing the introspected table structure

UIの左下隅で「Direct Query」モードが選択されていることを確認してください。

Choosing the Direct Query mode

これでデータセットの公開と新しいビジュアル化の作成を進めることができます!

既知の制限事項

  • SPICEインポートは期待通りに動作しません。Direct Queryモードを使用してください。#58553を参照してください。