clickhouse-jdbc-bridge には実験的なコードが含まれており、現在はサポートされていません。信頼性の問題やセキュリティ脆弱性が存在する可能性があります。使用は自己責任で行ってください。
ClickHouse では、アドホックなクエリの用途 (Postgres、MySQL、MongoDB など) では、より適した代替手段として ClickHouse に組み込まれているテーブル関数の使用を推奨しています。
JDBCテーブル関数は、JDBCドライバー経由で接続されたテーブルを返します。
このテーブル関数を使用するには、別途 clickhouse-jdbc-bridge プログラムを実行しておく必要があります。
Nullable 型をサポートしています (クエリ対象のリモートテーブルの DDL に基づきます) 。
jdbc(datasource, external_database, external_table)
jdbc(datasource, external_table)
jdbc(named_collection)
外部データベース名の代わりに、スキーマを指定することもできます。
SELECT * FROM jdbc('jdbc:mysql://localhost:3306/?user=root&password=root', 'schema', 'table')
SELECT * FROM jdbc('mysql://localhost:3306/?user=root&password=root', 'select * from schema.table')
SELECT * FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
SELECT *
FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
SELECT a.datasource AS server1, b.datasource AS server2, b.name AS db
FROM jdbc('mysql-dev?datasource_column', 'show databases') a
INNER JOIN jdbc('self?datasource_column', 'show databases') b ON a.Database = b.name