184 похожих чатов

Коллеги, добрый день. Версия кх - 20.9.5.5 Проблема такая: пытаемся писать данные

одним ETL инструментом в кликхаус через ODBC драйвер.
Объем данных - 1 строка, но вставка повторяется бесконечно. В логе ODBC драйвера можно увидеть последовательные POST запросы с данными этой строки.
Сам ETL инструмент строки не множит. Почему такое может происходить?

10 ответов

7 просмотров

Какое такое? ))) Что в результате в таблице не 1 строка? 1) КХ не гарантирует отсутствие дублей 2) зависит от движка таблицы 3) зависит от настроек КХ

Gennady-Maslov Автор вопроса
Anton Khokhrin
Какое такое? ))) Что в результате в таблице не 1 с...

>>Какое такое? ))) При попытке вставить одну строчку в таблицу через ODBC драйвер начинается бесконечная повторяющаяся вставка этой строки. Чем дольше ждать тем больше раз вставится. 2) MergeTree. 3) Каких именно, если не сложно.

Gennady Maslov
>>Какое такое? ))) При попытке вставить одну строч...

Я про insert_deduplicate. Но это явно не ваш случай. И судя по тому, что в odbc логе много вставок, проблема где-то до КХ

Gennady Maslov
>>Какое такое? ))) При попытке вставить одну строч...

через КХ клиент проходит инсерт который вы видите в post? в КХ логах есть ошибки про этот инсерт? /var/log/clickhouse-server/clickhouse-server.err.log

Gennady Maslov
>>Какое такое? ))) При попытке вставить одну строч...

возможно ваш ETL слишком умен и проверяет сколько строк инсерт вставил с помощью значения от execute(SQL) а КХ возвращает всегда 0, потому что в КХ нету этой фичи

Gennady-Maslov Автор вопроса
Denny [Altinity]
через КХ клиент проходит инсерт который вы видите ...

нет, по http протоколу работает, в КХ логах ошибки нет

Gennady-Maslov Автор вопроса
Denny [Altinity]
возможно ваш ETL слишком умен и проверяет сколько ...

насчет ETL не знаю но в логе ODBC драйвера после каждого POST запроса есть такие строки пуьть до драйвера/driver/api/odbc.cpp:764 in SQLRowCount: SQLRowCount пуьть до драйвера/driver/api/odbc.cpp:772 in operator(): getNumRows=0 это наводит на чтото?

Gennady Maslov
насчет ETL не знаю но в логе ODBC драйвера после к...

в общем понятно ваш ETL тул несовместим с КХ

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
7
Карта сайта