Рекомендации по подключению
Вкладка Initial SQL
Если на вкладке Advanced (по умолчанию) установлен флажок Set Session ID, вы можете задать сеансовые настройки с помощью
Вкладка Advanced
В 99% случаев вкладка Advanced не нужна, для оставшегося 1% можно использовать следующие настройки:
-
Custom Connection Parameters. По умолчанию уже указан
socket_timeout; этот параметр может потребоваться изменить, если некоторые экстракты обновляются очень долго. Значение этого параметра указывается в миллисекундах. Остальные параметры можно найти здесь и добавлять их в это поле, разделяя запятыми. -
JDBC Driver custom_http_params. Это поле позволяет добавить некоторые параметры в строку подключения ClickHouse, передавая значения в параметр драйвера
custom_http_params. Например, так задаётсяsession_id, когда активирован чекбокс Set Session ID. -
JDBC Driver
typeMappings. Это поле позволяет передать список сопоставлений типов данных ClickHouse с типами данных Java, используемыми драйвером JDBC. Коннектор автоматически отображает большие целые числа как строки благодаря этому параметру; вы можете изменить это, передав свой набор сопоставлений (я не знаю зачем) с помощьюПодробнее о сопоставлении читайте в соответствующем разделе.
-
JDBC Driver URL Parameters. В это поле можно передать остальные параметры драйвера, например
jdbcCompliance. Будьте внимательны: значения параметров должны передаваться в формате URL Encoded, и в случае передачиcustom_http_paramsилиtypeMappingsи в этом поле, и в предыдущих полях вкладки Advanced значения из двух предыдущих полей на вкладке Advanced будут иметь более высокий приоритет. -
Чекбокс Set Session ID. Нужен для задания настроек на уровне сессии во вкладке Initial SQL, генерирует
session_idс временной меткой и псевдослучайным числом в формате"tableau-jdbc-connector-*{timestamp}*-*{number}*".
Ограниченная поддержка типов данных UInt64, Int128, (U)Int256
По умолчанию драйвер отображает поля типов UInt64, Int128, (U)Int256 как строки, но он именно отображает их, а не преобразует. Это означает, что при попытке записать следующее вычисляемое поле вы получите ошибку
Чтобы работать с полями больших целочисленных типов как со строками, необходимо явно оборачивать их в функцию STR()
Однако такие поля чаще всего используются для подсчёта числа уникальных значений (ID, таких как Watch ID, Visit ID в Yandex.Metrica) или в качестве Dimension для задания детализации визуализации; в этих случаях они хорошо подходят.
При использовании предварительного просмотра данных (View data) для таблицы с полями типа UInt64 ошибка больше не возникает.