JDBC を使用するには ClickHouse JDBC Bridge が必要です。そのため、ローカルマシン上で
clickhouse-local を使用して、データベースから ClickHouse Cloud へデータをストリーミングする必要があります。詳細については、ドキュメントの Migrate セクションにある Using clickhouse-local ページを参照してください。前提条件以下を満たすマシンにアクセスできること:
- Unix シェルとインターネット接続を利用できる
- wget がインストールされている
- 現行バージョンの Java (例: OpenJDK バージョン >= 17) がインストールされている
- 現行バージョンの MySQL (例: MySQL バージョン >=8) がインストールされ、実行中である
- 現行バージョンの ClickHouse がインストールされていて、実行中である
ClickHouse JDBC Bridge をローカルにインストールする
~/clickhouse-jdbc-bridge/config/datasources/mysql8.json ファイルにコピーして貼り付けます。
上記の設定ファイルについて
- データソース名は自由に設定できます。ここでは
mysql8を使用しています jdbcUrlの値では、実行中の MySQL インスタンスに合わせて<host>と<port>を適切な値に置き換える必要があります。例:"jdbc:mysql://localhost:3306"<username>と<password>は MySQL の認証情報に置き換える必要があります。パスワードを使用しない場合は、上記の設定ファイルから"password": "<password>"の行を削除できますdriverUrlsの値には、MySQL JDBCドライバーの現行バージョンをダウンロードできる URL を指定しているだけです。これだけで十分で、ClickHouse JDBC Bridge がその JDBCドライバーを自動的にダウンロードします (OS 固有のディレクトリに保存されます) 。
これで ClickHouse JDBC Bridge を起動する準備が整いました。
ClickHouse JDBC Bridge はフォアグラウンドモードで起動しました。Bridge を停止するには、先ほどの Unix シェルのウィンドウを前面に戻して
CTRL+C を押します。ClickHouse 内から JDBC 接続を使用する
clickhouse-client または Play UI にコピー&ペーストすることです。
- jdbc テーブル関数:
最初のパラメーターには、上で設定した 名前付きデータソース の名前を jdbc テーブル関数 に指定しています。
- JDBC テーブルエンジン:
JDBC engine句の最初のパラメータとして、上で設定した名前付きデータソースの名前を使用していますClickHouse JDBC engineテーブルのスキーマと接続先のMySQLテーブルのスキーマは揃っている必要があります。たとえば、カラム名とその順序は同一である必要があり、カラムのデータ型には互換性が必要です
ClickHouse JDBC Bridge を外部にインストールする
- このガイドのセクション 1 に記載された手順に従って、専用ホストに ClickHouse JDBC Bridge をインストールし、設定して実行します。
- 各 ClickHouse ホストで、ClickHouse サーバー設定に次の設定ブロックを追加します (使用する設定フォーマットに応じて、XML 版または YAML 版を使用してください)。
- XML
- YAML
JDBC-Bridge-Hostは、専用の ClickHouse JDBC Bridge ホストのホスト名または IP アドレスに置き換える必要があります- ここでは ClickHouse JDBC Bridge のデフォルトポート
9019を指定しています。JDBC Bridge で別のポートを使用している場合は、上記の設定もそれに応じて変更してください