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

Подскажите как сделать внешний словарь. Делаю все по инструкции, в

config.xml, в логе ошибок нет, как понять что я делаю не так?

21 ответов

13 просмотров

https://kb.altinity.com/altinity-kb-setup-and-maintenance/altinity-kb-server-config-files/#dictionaries

Anton-Kobelev Автор вопроса
Denny [Altinity]
https://kb.altinity.com/altinity-kb-setup-and-main...

а можно просто в конфиге прописать, без внешних файлов?

Anton-Kobelev Автор вопроса
Denny [Altinity]
https://kb.altinity.com/altinity-kb-setup-and-main...

Сделал как в инструкции, прописал в config ссылку <dictionaries_config>dictionaries.xml</dictionaries_config>на dictionaries.xml - все равно не появляется в логе пишет: 2022.08.01 15:22:05.357194 [ 1 ] {} <Warning> ExternalDictionariesLoader: /etc/clickhouse-server/dictionaries.xml: file contains unknown node 'dictionaries_config', expected 'dictionary' 2022.08.01 15:22:05.357221 [ 1 ] {} <Warning> ExternalDictionariesLoader: /etc/clickhouse-server/dictionaries.xml: file contains unknown node 'dictionaries_lazy_load', expected 'dictionary'

Anton Kobelev
Сделал как в инструкции, прописал в config ссылку ...

Как в инструкции? Серьёзно? Вы же зциклили конфиг на самого себя. Зачем вам все в config.xlm ? Я резко против такого, хотя это и возможно сделать.

Anton-Kobelev Автор вопроса
Denny [Altinity]
Как в инструкции? Серьёзно? Вы же зциклили конфиг ...

сделал отдельно, но так как в базе знаний не работает: 2022.08.01 15:22:05.357194 [ 1 ] {} <Warning> ExternalDictionariesLoader: /etc/clickhouse-server/dictionaries.xml: file contains unknown node 'dictionaries_config', expected 'dictionary' 2022.08.01 15:22:05.357221 [ 1 ] {} <Warning> ExternalDictionariesLoader: /etc/clickhouse-server/dictionaries.xml: file contains unknown node 'dictionaries_lazy_load', expected 'dictionary'

Anton Kobelev
сделал отдельно, но так как в базе знаний не работ...

Ну что можно ответить? У меня такая же нога и не болит

Anton Kobelev
сделал отдельно, но так как в базе знаний не работ...

Ещё раз. Это совсем не так как в kb. Вы в файле xx говорите искать словари в файле опять xx. Кх там находит НЕ словари и сообщает.

Anton-Kobelev Автор вопроса
Anton Kobelev
в config.xml что-то нужно прописать?

Читайте по ссылке с самого начала

Anton-Kobelev Автор вопроса
Denny [Altinity]
Читайте по ссылке с самого начала

Получил такой словарь в итоге в system.dictionaries: 00000000-0000-0000-0000-000000000000 NOT_LOADED, да и обратиться к нему нельзя, кликхаус говрит не знает такого словаря, хотя в system.dictionaries он появился. Тот же самый словарь через DDL работает отлично

Anton-Kobelev Автор вопроса
Denny [Altinity]
Как обращаемся?

через select * from default.dc_mydict

Anton Kobelev
через select * from default.dc_mydict

Не создаётся автоматически таблица для XML словарей. Надо либо create database dict engine=Dictionary либо create table ... Engine=Dictionary(dictionaryname)

Anton Kobelev
через DDL создается

Вы издеваетесь? Не создаётся автоматически таблица для XML словарей

Anton-Kobelev Автор вопроса
Denny [Altinity]
Вы издеваетесь? Не создаётся автоматически таблица...

ничуть, я создал словарь через DDL и могу написать select к нему, и это работает

Anton Kobelev
ничуть, я создал словарь через DDL и могу написать...

Да. А XML не работает и всегда так было и это сделано нарочно. Потому что XML словари создаются не в базе данных. Поэтому табличное отображение надо создавать вручную. DDL словари появились через три или четыре года и там все сделано иначе потому что было много просьб дать возможность создавать разные словари в разных базах с одинаковым именем. Табличные отображения (engine Dictionary) тоже появились не сразу. Ну и они сделаны для отладки, они в 10000 раз медленнее чем dictget

Anton-Kobelev Автор вопроса
Denny [Altinity]
Да. А XML не работает и всегда так было и это сдел...

Понял, спасибо за разъяснение. Я думал это одно и тоже.

Anton-Kobelev Автор вопроса
Denny [Altinity]
Да. А XML не работает и всегда так было и это сдел...

Все таки не понимаю: в документации написано ClickHouse: Полностью или частично хранит словари в оперативной памяти. Периодически обновляет их и динамически подгружает отсутствующие значения. Позволяет создавать внешние словари с помощью xml-файлов или DDL-запросов. Т.е. внешние словари созданные из XML и DDL - это все-таки одно и тоже или нет? Ну кроме того что DDL создает таблицу словаря.

Anton Kobelev
Все таки не понимаю: в документации написано Click...

DDL и XML словари внутри под капотом одно и тоже. Создаются они по разному. С тем и с этим надо работать через dictget. Табличные отображения к которым можно делать select для обоих сделаны для отладки.

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Всем привет! Кто нибудь парсил в ручную JSON без библиотек и фреймворков? Есть может ссылки на оптимальный алгоритмы работы с текстом и примеры таких парсеров?
Lem
27
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
Есть сайт. Там была древняя версия эво. Стоял плагин, который каждый коммент в Jot делал отдельной страницей. После обновления все слетело, теперь старница открывается отдельн...
Artem
1
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
Добрый день. А shovel'ы можно как-то сконфигурировать в definitions.json? Пробовал что-то вроде: { "users": [ { "name": "agent", "password_hash": "RBCbTzQd...
Aleksey
1
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Карта сайта