@clickhouse_ru

Страница 599 из 723
Vladimir
25.07.2018
09:59:34
Будет полезно если опишите полную инструкцию как это у вас получилось
Постараемся написать. Локально уже подружили Монгу с Tableau. Мелкие доработки и попробуем написать.

daria
25.07.2018
10:04:25
Добрый день! Подскажите пж, что может обозначать ошибка "DB::Exception: Allocator: Cannot mremap memory chunk from 1.00 GiB to 2.00 GiB., errno: 12, strerror: Cannot allocate memory."?

Впервые такую вижу

Vladimir
25.07.2018
10:14:48
Google
Олег Иванович
25.07.2018
10:15:30
есть пара вопросов 1) КХ есть хуки, или что-то аналогичное? + чтобы эти изменения можно было поймать драйвером, в данном случае, nodejs 2) в КХ возможно заполнить таблицу, из справочной таблицы? схемотично это выглядит примерно так КХ таблица INSERT < mongo

Олег Иванович
25.07.2018
10:58:00
1. Хуков или чего-то такого в КХ нет. А зачем вам такое? 2. Пояните что имеете в виду
1) есть задача, где такой функционал нужен 2) нужно "сырые" данные из монги, складывать в КХ, в сортированном виде

Michal
25.07.2018
11:00:14
1) есть задача, где такой функционал нужен 2) нужно "сырые" данные из монги, складывать в КХ, в сортированном виде
Мне кажется это довольно элементарно должно решаться внешним инструментом, который будет читать из монги и складывать их в кликхаус. Попутно может проверять не нужно ли запустить в связи с этими данными хука.

Michal
25.07.2018
11:02:01
1) нет 2) да, словари можно использовать как обычные таблицы
Словари можно использовать как таблицы, но в словари нельзя запихать много данных, всё должно помещаться в память.

про внешние срадства, вопросов как раз нет, речь про внутренние, которые я думаю должны работать быстрее
Они могли бы работать быстрее, если бы существовали. :) В целом - Кликхаус это инструмент прежде всего для аналитики, для выполнения быстрых запросов на больших данных. Для других задач (перемещение данных из одного места в другое, запуск хуков и т.п.) есть другие инструменты.

Google
Kirill
25.07.2018
11:09:22
про внешние срадства, вопросов как раз нет, речь про внутренние, которые я думаю должны работать быстрее
В КХ просто неначто вешать этот хук, например в PostgreSQL есть LISTEN/NOTIFY и в нем это оправданно, а в КХ только вставил пачку данных/выполнил селект.

Олег Иванович
25.07.2018
11:10:35
В КХ просто неначто вешать этот хук, например в PostgreSQL есть LISTEN/NOTIFY и в нем это оправданно, а в КХ только вставил пачку данных/выполнил селект.
ну например при той же вставке, в данных могут быть определенные флаги, на которые нужно отреагировать

vladimir
25.07.2018
11:12:44
Да, совместимы
обновил одну из нод кластера с версии 1.1.54362 до 18.+ и она больше не включается

Kirill
25.07.2018
11:12:47
Если вы флаги ставите, вы на них сами и реагируйте

Олег Иванович
25.07.2018
11:12:57
например в Mysql, есть тригеры, которые решают подобные задачи

Если вы флаги ставите, вы на них сами и реагируйте
не все так просто данные могут быть добавлены в обход драйвера

vladimir
25.07.2018
11:13:46
А в логах что пишет?
могу трейс в личку скинуть

Kirill
25.07.2018
11:14:03
могу трейс в личку скинуть
На пастербин/гист и сюда кидайте

не все так просто данные могут быть добавлены в обход драйвера
по рукам за это бейте если у вас на это функионал завязан

Олег Иванович
25.07.2018
11:15:03
по рукам за это бейте если у вас на это функионал завязан
если с БД работает 2+ приложения, то это как раз тот случай, и по рукам бить не получится

vladimir
25.07.2018
11:15:56
Michal
25.07.2018
11:16:27
Для тех что не помещаются есть cache, но там другие проблемы.
ЕМНИП если сделать таблицу с движком Dictionary на cache-словаре то селекты будут возвращать только то что хранится в памяти, т.е. то что в настоящее время лежит в кэше

Michal
25.07.2018
11:18:04
если с БД работает 2+ приложения, то это как раз тот случай, и по рукам бить не получится
Ну а откуда вы будете в таком случает знать какие данные нужно перебросить в КХ?

Или каждый раз всё подряд, полный дамп?

Google
Олег Иванович
25.07.2018
11:18:45
Ну а откуда вы будете в таком случает знать какие данные нужно перебросить в КХ?
мне нужно самом КХ мониторить, а не то, что извне прилетает

Andrei
25.07.2018
11:18:51
если с БД работает 2+ приложения, то это как раз тот случай, и по рукам бить не получится
Проблемы с дизайном не оправдывают странных требований к третьим системам. Как уже сказали КХ аналитическая база, не более и не менее и данные для вставки должны быть подготовлены заранее.

vladimir
25.07.2018
11:19:21
На пастербин/гист и сюда кидайте
а так же постоянно прилетает 2018.07.25 14:15:48.858511 [ 1 ] <Error> Application: ZooKeeperImpl::Exception: Marshalling error, path: /clickhouse/tables/replicator/pg.pg_stat_statements2/log

Michal
25.07.2018
11:20:51
Другими словами - вот у вас есть источник данных (монго) вот 2+ приложения меняют/добавляют туда данные. В какой момент вы собираетесь перебрасывать их в Кликхаус? Потому что когда они окажутся в КХ, им лучше всего было бы быть immutable, т.е. быть замороженными, не изменяться.

Michal
25.07.2018
11:23:56
Точно, так и есть, оно только через функциб тянет недостающие,наверное стоит поправить
Там с cache главный косяк ИМХО что любые его модификации - однопоточно выполняются. Что в принципе вполне логично, но сильно "зажимает" производительность cache если нужно часто дочитывать "из вне".

Идеально было бы прикрутить Memcached / Redis а ещё лучше Aerospike как движок для словарей.

Олег Иванович
25.07.2018
11:25:10
Michal
25.07.2018
11:25:45
Идеально было бы прикрутить Memcached / Redis а ещё лучше Aerospike как движок для словарей.
Aerospike - т.к. сильно производительный и со строгой типизацией (было бы идеальным дополнением для КХ)

Kirill
25.07.2018
11:25:50
Там с cache главный косяк ИМХО что любые его модификации - однопоточно выполняются. Что в принципе вполне логично, но сильно "зажимает" производительность cache если нужно часто дочитывать "из вне".
Там еще один есть, вернее это косяк протокола который не поддерживает подготовленные выражения и запрос строится WHERE ID IN (1...100000 ids) и может не влезать в лимиты по размеру

Идеально было бы прикрутить Memcached / Redis а ещё лучше Aerospike как движок для словарей.
Оно в планах точно есть, надо будет посмотреть насколько проблемно это сделать и имплементоровать

Kirill
25.07.2018
11:27:22
Kirill
25.07.2018
11:28:12
Мы по HTTP дочитываем словари, поэтому с этим не сталкивались.
Это так, но если как словарь использовать КХ то вот такая штука может вылезти

Michal
25.07.2018
11:29:35
да, это как раз было альтернативным решением
Это не альтернативное, а единственное выполнимое :) Т.к. никаких хуков в КХ в настоящее время нет.

Олег Иванович
25.07.2018
11:31:58
Это не альтернативное, а единственное выполнимое :) Т.к. никаких хуков в КХ в настоящее время нет.
на тот момент, я еще не знал, что в КХ нет хуков, потому это было альтернативой а сейчас это единственное решение

Google
Олег Иванович
25.07.2018
11:36:37
вам нужна очередь сообщений, а не костыли для кх
это очевидно потому и интересовался в наличии функционала

Абрамов
25.07.2018
11:37:51
обновил одну из нод кластера с версии 1.1.54362 до 18.+ и она больше не включается
вчера тоже нода не запустилась - новая версия не могла приатачить таблицы, т.к. разучилась понимать parseDateTimeBestEffortOrZero в материализованных колонках... пришлось откатить пока на прежнюю версию

vladimir
25.07.2018
11:40:55
вчера тоже нода не запустилась - новая версия не могла приатачить таблицы, т.к. разучилась понимать parseDateTimeBestEffortOrZero в материализованных колонках... пришлось откатить пока на прежнюю версию
ага, откатить на прежнюю версию у меня получилось только полным удалением всех компонентов КХ и повторной установкой с указанием предыдущей версии

Alex
25.07.2018
12:29:59
а так же постоянно прилетает 2018.07.25 14:15:48.858511 [ 1 ] <Error> Application: ZooKeeperImpl::Exception: Marshalling error, path: /clickhouse/tables/replicator/pg.pg_stat_statements2/log
У вас наверно есть реплика этой таблицы, которая заброшена. Записи в логе не удаляются в надежде, что она вернётся и прочитает их. Проверьте в /clickhouse/tables/replicator/pg.pg_stat_statements2/replicas, а также посмотрите сколько нод в /clickhouse/tables/replicator/pg.pg_stat_statements2/log.

Vadim
25.07.2018
12:30:35
Добрый день. Помогите пожалуйста решить задачу. Импорт БД в Clickhouse который крутится докер при помощи нативного клиента, не могу подобрать строку правильно. https://groups.google.com/d/msgid/clickhouse/3cad8991-3559-4c2f-9df2-94cb3ccb0a3a%40googlegroups.com?utm_medium=email&utm_source=footer

Denis
25.07.2018
12:37:54
А почему словарь complex_key_hashed занимает памяти в 10 раз больше чем таблица? таблица formatReadableSize(sum(data_compressed_bytes)) 490.90 MiB formatReadableSize(sum(data_uncompressed_bytes)) 1.70 GiB словарь formatReadableSize(bytes_allocated) 12.06 GiB

Vladimir
25.07.2018
12:53:23
подскажите как в словаре поставить дефолтное значение DateTime в поле? Пытаюсь сделать словарь из колелкции монги, проблемы с полей-датой возникают

Denis
25.07.2018
12:57:20
<attribute> <name>updated_date</name> <type>DateTime</type> <null_value>0000:00:00 00:00:00</null_value> </attribute>

Combot
25.07.2018
13:00:58
Репутация Denis Zhuravlev увеличена! Текущая репутация: 1

Vadim
25.07.2018
13:11:49
В своем вопросе разобрался. Вот вдруг кому понадобится

https://groups.google.com/d/msgid/clickhouse/3cad8991-3559-4c2f-9df2-94cb3ccb0a3a%40googlegroups.com?utm_medium=email&utm_source=footer

Michal
25.07.2018
13:21:11
Оно в планах точно есть, надо будет посмотреть насколько проблемно это сделать и имплементоровать
Написал таска, если вдруг захочет кто-то взяться :) Вроде бы сильно сложно быть не должно https://github.com/yandex/ClickHouse/issues/2718 Там кстати видел что есть API чтоб подгружать словари из динамических библиотек (https://github.com/yandex/ClickHouse/blob/master/dbms/src/Dictionaries/LibraryDictionarySource.h).

Tatiana
25.07.2018
13:40:25
<attribute> <name>updated_date</name> <type>DateTime</type> <null_value>0000:00:00 00:00:00</null_value> </attribute>
можно проще <attribute> <name>updated_date</name> <type>DateTime</type> <null_value>0</null_value> </attribute>

dimko
25.07.2018
13:40:34
Ребят, это как понимать? HTTP/1.1 200 OK Date: Wed, 25 Jul 2018 13:35:32 GMT Connection: Keep-Alive Content-Type: text/plain; charset=UTF-8 X-ClickHouse-Server-Display-Name: zos-22 Transfer-Encoding: chunked Keep-Alive: timeout=3 0 HTTP/1.1 400 Bad Request Connection: Close такое на INSERT через HTTP выдает.

Michal
25.07.2018
13:48:08
А это случайно не ответы на 2 разных запроса в рамках одной KeepAlive сессии?

Если это ответ на 1 запрос - то очень хотелось бы увидеть и этот запрос :)

dimko
25.07.2018
14:05:33
Михаил, вот такой запрос -- POST /?query=Insert+into+NodeLog_buffer+FORMAT+JSONEachRow&input_format_skip_unknown_fields=1 HTTP/1.1 Host: 10.0.0.222 Content-Length: 314 Connection: keep-alive Content-Type: application/json {"ts":"2018-07-25 14:02:36","msec":124577,"level":"INFO","logger":"node","pid":14270,"file":"workers.py:79","node":"DIM","body":"| Worker wkr:1 14280 mem:21.9M"} {"ts":"2018-07-25 14:03:36","msec":83218,"level":"DEBUG","logger":"node","pid":14270,"file":"workers.py:69","node":"DIM","body":"run_counter: 2"}

Google
dimko
25.07.2018
14:06:48
то есть рекомендуешь убрать заголовок Connection: keep-alive ?

Michal
25.07.2018
14:32:30
Не рекомендую :) Рекомендую описать конкретную проблему и сценарий её возникновения, и тогда может быть найдется её решение.

Лучше всего попробовать воспроизвести с помощью стандартных средств linux - с помощью curl например.

что-то типа curl 'http://clickhouse-server:8123/?query=SHOW+CREATE+TABLE+NodeLog_buffer' cat data.json | curl -v 'http://clickhouse-server:8123/?query=Insert+into+NodeLog_buffer+FORMAT+JSONEachRow&input_format_skip_unknown_fields=1' --data-binary @-

Alexsandr
25.07.2018
14:52:24
Привет, подскажите какой параметр выключает проверку на тип поля при insert Например есть запрос ``` INSERT INTO test_table ( column_UINT64 ) values ( '123123123123') ``` При встаке Code: 53, e.displayText() = DB::Exception: Type mismatch in IN or VALUES section. Expected: UInt64. Got: String, e.what() = DB::Exception версия КХ 1.1.54236

Alexey
25.07.2018
14:55:44
Никакой, насколько я знаю, в кх строгая типизация, убрать апострофы

Ну или сделать поле col_str String, в него инсертить, и создать второе поле col UInt64 DEFAULT toUInt64(col_str)

Alexsandr
25.07.2018
15:01:10
Спасибо

Dima
25.07.2018
15:36:11
Кто-то коннектил Clickhouse к TeamSQL?

Alex
25.07.2018
16:35:18
Опубликован русскоязычный changelog к версии 18.1.0: https://github.com/yandex/ClickHouse/blob/master/CHANGELOG_RU.md#clickhouse-release-1810-2018-07-23

Serge
25.07.2018
16:43:58
а гдето можно почитать что такое движок таблиц URL?

Страница 599 из 723