メインコンテンツへスキップ
メインコンテンツへスキップ

接続のヒント

ClickHouse Supported

Initial SQL タブ

Advanced タブで Set Session ID チェックボックスが有効になっている場合(デフォルトの設定)、セッションレベルの settings を次のように設定できます

SET my_setting=value;

詳細タブ

99% のケースでは「詳細」タブは不要ですが、残りの 1% のケースでは次の設定を利用できます。

  • Custom Connection Parameters。デフォルトでは socket_timeout がすでに指定されていますが、一部の抽出の更新に非常に長い時間がかかる場合、このパラメータを変更する必要があるかもしれません。このパラメータの値はミリ秒単位で指定します。その他のパラメータはこちらで確認でき、カンマ区切りでこのフィールドに追加します

  • JDBC Driver custom_http_params。このフィールドでは、ドライバの custom_http_params パラメータに値を渡すことで、ClickHouse 接続文字列にパラメータを追加できます。たとえば、Set Session ID チェックボックスを有効にしたときには、この方法で session_id が指定されます

  • JDBC Driver typeMappings。このフィールドでは、JDBC ドライバが使用する Java データ型への ClickHouse データ型のマッピング一覧を渡すことができます。コネクタは、このパラメータのおかげで大きな整数値を自動的に文字列として扱いますが、次のようにマッピングの Set(理由はよく分かりません)を渡すことで変更できます

    UInt256=java.lang.Double,Int256=java.lang.Double
    

    マッピングの詳細については、対応するセクションを参照してください

  • JDBC Driver URL Parameters。このフィールドでは、例えば jdbcCompliance などの残りのドライバパラメータを渡すことができます。注意点として、パラメータ値は URL エンコード形式で渡す必要があります。また、このフィールドと詳細タブ内の前のフィールドで custom_http_paramstypeMappings を渡した場合、詳細タブの先頭 2 つのフィールドの値の方が優先されます

  • Set Session ID チェックボックス。Initial SQL タブでセッションレベルの設定を行うために必要で、"tableau-jdbc-connector-*{timestamp}*-*{number}*" という形式で、タイムスタンプと疑似乱数からなる session_id を生成します

UInt64、Int128、(U)Int256 データ型のサポートの制限

デフォルトでは、ドライバーは UInt64, Int128, (U)Int256 型のフィールドを文字列として表示しますが、変換は行わず表示するだけです。これは、次のような計算フィールドを書き込もうとするとエラーが発生することを意味します

LEFT([myUInt256], 2) // Error!

大きな整数型フィールドを文字列と同様に扱うには、そのフィールドを明示的に STR() 関数でラップする必要があります。

LEFT(STR([myUInt256]), 2) // Works well!

しかし、このようなフィールドは、主にユニークな値の数を取得するため(Yandex.Metrica における Watch ID や Visit ID といった ID)や、可視化の詳細度を指定するための Dimension として使用され、その用途であれば問題なく利用できます。

COUNTD([myUInt256]) // Works well too!

UInt64 フィールドを含むテーブルのデータプレビュー(View data)を使用しても、エラーは発生しなくなりました。