словаре. На митапе рассказывали что можно задать не проверочный запрос в данном параметре, а запрос на выборку данных для словаря. Проверил так и есть - если в данном поле написать запрос к таблице, то в словарь попадут только те данные что в запросе. Словарь нормально обновляется вручную - system reload dictionary <dict name>, НО при периодическом обновлении (настройка lifetime) я вижу в логах ошибки, что метод обновления ожидает 1 столбец, а получает больше. Вот даже кусок кода, который кидает исключение - https://github.com/ClickHouse/ClickHouse/blob/8ab5270ded39c8b044f60f73c1de00c8117ab8f2/src/Dictionaries/readInvalidateQuery.cpp#L31.
В логах вот так :
<Error> ExternalDictionariesLoader: Could not check if external dictionary *****************************
was modified: Code: 161. DB::Exception: Expected single column in resultset, got 2. (TOO_MANY_COLUMNS)
Подскажите, что можно сделать? Хочется и запрос оставить на выборку, но и 1 столбец в нем оставить не получается.
При этом данные в словаре обновляются. Проблема только в том что в логах видны исключения
вы что за митап смотрели? это задается в query а не в invalidate_query QUERY $doc$SELECT id, value_1, value_2 FROM test_table_1 INNER JOIN test_table_2 USING (id);$doc$))
Видимо ошибся немного, спасибо
Обсуждают сегодня