连接建议
Initial SQL 选项卡
如果在 Advanced 选项卡中启用了 Set Session ID 复选框(默认启用),你可以使用以下语句设置会话级别的设置:
高级选项卡
在 99% 的情况下,无需使用“高级”选项卡;对于剩余 1% 的场景,可以使用以下设置:
-
Custom Connection Parameters。默认已经指定了
socket_timeout,如果某些抽取更新耗时非常长,可能需要调整此参数。该参数的取值单位为毫秒。其余可用参数可以在这里找到,将它们以逗号分隔的形式添加到此字段中 -
JDBC Driver custom_http_params。此字段允许通过向驱动的
custom_http_params参数传递值,将部分参数附加到 ClickHouse 连接字符串中。例如,当勾选 Set Session ID 复选框时,就会通过这种方式指定session_id -
JDBC Driver
typeMappings。此字段允许你传递 ClickHouse 数据类型到 JDBC 驱动使用的 Java 数据类型的映射列表。连接器得益于此参数会自动将大整数显示为字符串,你可以通过传入自己的映射 Set(我不知道为什么)来修改这一行为,例如:关于映射的更多内容,请参见相应章节
-
JDBC Driver URL Parameters。可以在此字段中传递其余驱动参数,例如
jdbcCompliance。请注意,参数值必须以 URL 编码格式传递;并且当在此字段以及高级选项卡前面几个字段中传递custom_http_params或typeMappings时,高级选项卡中前两个字段的取值具有更高优先级 -
Set Session ID 复选框。用于在 Initial SQL 选项卡中设置会话级别的设置,会以
"tableau-jdbc-connector-*{timestamp}*-*{number}*"的格式生成包含时间戳和伪随机数的session_id
对 UInt64、Int128、(U)Int256 数据类型的支持有限
默认情况下,驱动程序会将 UInt64, Int128, (U)Int256 类型的字段显示为字符串,只是显示而不进行转换。这意味着当你尝试写入后续的计算字段时,就会报错
要像处理字符串一样处理大整数字段,必须将该字段显式包裹在 STR() 函数中
然而,此类字段最常用于统计唯一值的数量(ID,例如 Yandex.Metrica 中的 Watch ID、Visit ID),或作为一个 Dimension 来指定可视化的细节粒度,在这些用途中表现良好。
在使用表的数据预览(View data)功能查看包含 UInt64 字段的表时,现在不会再出现错误。