跳到主要内容
跳到主要内容
编辑此页

连接技巧

初始 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_paramstypeMappings,则“高级”选项卡上前面两个字段的值具有更高的优先级

  • 设置会话 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 字段的表的数据预览(查看数据)时,现在不会出现错误。