поместить в config создание dictionaries? Создание таблиц и схем я подсмотрел тут:
https://github.com/Altinity/clickhouse-operator/blob/master/docs/chi-examples/02-templates-06-bootstrap-schema.yaml
а как поступить со словарями? Не хочется указывать пароль к сорсу в config.
Вижу пример тут:
https://github.com/Altinity/clickhouse-operator/blob/master/docs/chi-examples/05-settings-02-dictionary.yaml
но тут пароль в открытом виде.. или я могу тут пароль в sha_256 представить или что-то подобное ?
Спасибо
named collections и создавать named collections с секретом из k8s
спасибо, сейчас почитаю б этом
так а в чем отличие? я вижу о named_collection: <clickhouse> <named_collections> <local_host> <host>localhost</host> <port>9000</port> <database>default</database> <user>ch_dict</user> <password>mypass</password> </local_host> </named_collections> </clickhouse> а в документации вот такая секция: <source> <clickhouse> <host>localhost</host> <port>9000</port> <user>default</user> <password/> <db>system</db> <table>one</table> </clickhouse> </source> то есть и там, и там есть место для пароля, только не совсем понятно как указать в этом теге пароль из секрета. Так же как и пароль для пользователей? user_name/k8s_secret_password: k8s-secret-name/key_in_secret
отличие что один named collection можно использовать многократно, и можно и в xml и sql словарях >Так же как и пароль для пользователей? да также, @slach знает, как пароль из k8s секретов подставлять
ок, спасибо. А еще вопрос по словарю: когда в клиенте его создаю, то вижу потом как таблицу и могу джойны делать и т.д. А когда вот так в xml объявляю, то вижу его только командой show dictionaries. Можете подсказать, что надо задать в конфиге в xml, чтобы обращаться к нему, как к таблице ?
не надо делать jon с той таблицей, это мегамедленно, словари можно использовать только с dictGet
вроде читал, что в последних версиях кликхауса join работает так же быстро
>Можете подсказать, что надо задать в конфиге в xml, чтобы обращаться к нему, как к таблице ? create table .... engine Dictionary ( mydict) ; или сразу для всех create database dict Engine=Dictionary;
https://altinity.com/blog/2020-5-19-clickhouse-dictionaries-reloaded
там хуйня написана.
А можно ли в dictGet реализовать условие key1=key1 and key2<=key2 ?
у меня нет даты начала и даты конца есть дата установки значения и все что позже этой даты соединяется с этим значением пока не появится новое, после этогобудет с новым соединяться понятно, что можно запросом развернуть…
вообще ниче не понял. как это работает на примере курсов, в словаре курсы валют, множество курсов для каждой валюты, датой начала действия нового курса и открытой датой конца у всех записей, и можно выбирать dictGet( ... код_валюты, дата события), выберется курс валюты на дата события и важно использовать range_lookup_strategy = max в этом случае
вот, но где-то ошибся должно быть 1 - 10 и 1 - 11
Спасибо, кажется вот так в итоге https://fiddle.clickhouse.com/9468e97f-dc5f-458e-9d27-71e0afc4f335
Огромное спасибо, все стало работать ощутимо шустрее!
Обсуждают сегодня