连接技巧
初始 SQL 选项卡
如果设置会话 ID复选框在“高级”选项卡上被激活(默认情况下),请随意使用以下方式设置会话级别设置
SET my_setting=value;
高级选项卡
在 99% 的情况下,您不需要“高级”选项卡,对于剩下的 1%,您可以使用以下设置
-
自定义连接参数。默认情况下,
socket_timeout
已被指定,如果某些提取更新时间非常长,则可能需要更改此参数。此参数的值以毫秒为单位指定。其余参数可以在此处找到,将它们添加到此字段中,以逗号分隔 -
JDBC 驱动程序 custom_http_params。此字段允许您通过将值传递给驱动程序的
custom_http_params
参数,将一些参数放入 ClickHouse 连接字符串中。例如,当设置会话 ID复选框被激活时,session_id
就是这样指定的 -
JDBC 驱动程序
typeMappings
。此字段允许您将 ClickHouse 数据类型映射列表传递给 JDBC 驱动程序使用的 Java 数据类型。连接器通过此参数自动将大型整数显示为字符串,您可以通过传递您的映射集来更改此设置(我不知道为什么),使用UInt256=java.lang.Double,Int256=java.lang.Double
在相应章节中阅读更多关于映射的信息
-
JDBC 驱动程序 URL 参数。您可以传递剩余的驱动程序参数,例如
jdbcCompliance
,在此字段中。请注意,参数值必须以 URL 编码格式传递,并且如果在此字段和“高级”选项卡的前两个字段中传递custom_http_params
或typeMappings
,则“高级”选项卡上前面两个字段的值具有更高的优先级 -
设置会话 ID 复选框。需要在“初始 SQL”选项卡中设置会话级设置,生成一个
session_id
,格式为"tableau-jdbc-connector-*{timestamp}*-*{number}*"
,其中包含时间戳和一个伪随机数
对 UInt64、Int128、(U)Int256 数据类型的有限支持
默认情况下,驱动程序将 UInt64、Int128、(U)Int256 类型的字段显示为字符串,但它是显示,而不是转换。这意味着当您尝试写入下一个计算字段时,您将收到错误
LEFT([myUInt256], 2) // Error!
为了像使用字符串一样处理大型整数字段,有必要显式地将字段包装在 STR() 函数中
LEFT(STR([myUInt256]), 2) // Works well!
然而,这些字段最常用于查找唯一值的数量(Yandex.Metrica 中的 ID,如 Watch ID、Visit ID)或作为维度来指定可视化的细节,这运行良好。
COUNTD([myUInt256]) // Works well too!
当使用带有 UInt64 字段的表的数据预览(查看数据)时,现在不会出现错误。