Рекомендации по подключению
Вкладка 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‑драйвер. Коннектор автоматически отображает большие целые числа как строки благодаря этому параметру; вы можете изменить это, передав свой набор сопоставлений (я не знаю, зачем), используяПодробнее о сопоставлении типов данных читайте в соответствующем разделе.
- Параметры URL JDBC-драйвера. В этом поле вы можете передать остальные параметры драйвера, например
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 ошибка больше не возникает.