
Michal
02.07.2018
13:52:26
Оно как раз для похожих задач сделано.

Alexey
02.07.2018
13:54:02
Всем привет! Подскажите пожалуйста, а выражение "... not in ( select ... from table)" рабочее? Что-то у меня не получается заставить это работать.

Michal
02.07.2018
13:54:53

Артем
02.07.2018
13:57:04

Google

Mariya
02.07.2018
13:57:47

Michal
02.07.2018
13:59:13

Alexey
02.07.2018
14:00:56

Mariya
02.07.2018
14:01:47

Alexey
02.07.2018
14:02:18

Mariya
02.07.2018
14:02:46
Да, конечно

Артем
02.07.2018
14:03:15
Не понимаю в чем проблема :)
Мне не очень нравится привязка данных к позиции, у меня планируется около 70 полей для вложенной структуры, смекаете ?)

Vladimir
02.07.2018
14:11:09

Michal
02.07.2018
14:11:40
Мне не очень нравится привязка данных к позиции, у меня планируется около 70 полей для вложенной структуры, смекаете ?)
CREATE TABLE sessions (
sessionid UInt32,
hits_hitid Array(UInt32),
hits_productids Array(Array(UInt32))
) Engine = MergeTree ORDER BY sessionid;
INSERT INTO sessions VALUES ( 10, [101,102,103], [ [1011,1012,1013,1014], [1021,1022], [] ] );
INSERT INTO sessions VALUES ( 20, [201,202,203], [ [2011,2012,2013,2014], [2021,2022], [] ] );
SELECT sessionid, hitid, productid
FROM
( SELECT sessionid, hitid, productids
FROM sessions
ARRAY JOIN
hits_hitid as hitid,
hits_productids as productids
)
ARRAY JOIN productids as productid;

papa
02.07.2018
14:11:59

Michal
02.07.2018
14:12:46

Tima
02.07.2018
14:18:47

Google

Alexey
02.07.2018
14:19:56
Да, конечно
Мария, вот такой запрос не работает(отрабатывает, но в таблице есть дубликаты), вы не могли бы подсказать что я делаю не правильно: insert into table1
select ...
from table2
where table2.id not in (select id from table1)
group by table2.id

Michal
02.07.2018
14:21:53

Артем
02.07.2018
14:22:03
Это диалог из жанра "ехать или шашечки". :)
Не соглашусь с вами) сейчас у меня вся древовидная структура просто сложена в большую плоскую таблицу, и в принципе меня это устраивает , но меня мучает сомнения что nested структура будет работать быстрее

Wolf
02.07.2018
14:24:00
ну залейте так и так и проверьте

Michal
02.07.2018
14:24:03

Артем
02.07.2018
14:24:48

Mariya
02.07.2018
14:24:50

Артем
02.07.2018
14:25:48

Alexey
02.07.2018
14:26:17

Артем
02.07.2018
14:26:47

Michal
02.07.2018
14:28:26
Все верно
Тут все зависит от запросов. Если у вас для большинства запросов нужен самый глубокий элемент вашей древовидной структуры (т.е. в том примере - продукты), и база с этим справляется - то ничего менять не нужно. "Работает? - не трогай!".
У нас например значительно больше запросов выполняются на более высоких элементах этой структуры, и если бы мы попробовали все сделать плоско - то это требовало бы постоянных GROUP BY, и увеличивало бы количество строк раз в 10. Т.е. было бы больше данных, медленнее процессинг. Для нас такой вариант ну вообще никак не подходит.

Артем
02.07.2018
14:31:32

Michal
02.07.2018
14:32:18

Артем
02.07.2018
14:32:56

Michal
02.07.2018
14:35:53

Tima
02.07.2018
14:37:16

Vladimir
02.07.2018
14:39:00

Google

Michal
02.07.2018
14:39:54

Vladimir
02.07.2018
14:41:24
GraphiteMergeTree как я понял требует определенной структуры таблицы + материализованное представление мне понятнее и управление тем что туда должно вставляться как то через ДДЛ нагляднее

Alexander
02.07.2018
14:43:14
А массивы в аттрибутах внешних словарей не поддерживаются, я правильно понимаю?

Michal
02.07.2018
14:45:09

Alexander
02.07.2018
14:46:14
спасибо

Дмитрий
02.07.2018
14:49:07
люди, .NET-овский драйвер падает с ошибкой "Max query size exceeded"
где в доках прочитать про ограничение?\

Michal
02.07.2018
14:51:09
https://github.com/yandex/ClickHouse/issues/2529#issuecomment-399884381

Sergei
02.07.2018
15:07:14
А materialized views можно из старых данных делать?

M
02.07.2018
15:08:12
День добрый,
Что может означать вот эта ошибка? И как с ней бороться? И если она происходит, то что происходит с данными?
<Error> HTTPHandler: Code: 354, e.displayText() = DB::Exception: inflate failed: buffer error, e.what() = DB::Exception, Stack trace

Tima
02.07.2018
15:09:31

Sergei
02.07.2018
15:10:07

Tima
02.07.2018
15:12:09
Советую при использовании MV сначала создать обычную таблицу MergeTree со структурой запроса. И прицепить MV к этой таблице
Тогда вы сможете например отцепить MV, изменить таблицу и обратно прицепить MV

Sergei
02.07.2018
15:14:30
Угу, именно так и делаем, спасибо!

nikita
02.07.2018
15:43:48
есть где подробные примеры по sequenceMatch и windowFunnel?

Tima
02.07.2018
15:50:59

nikita
02.07.2018
15:52:20
спасибо, но мало ?

Evgeny
02.07.2018
16:28:10
Господа, просто на всякий случай - а Кликхаус словари с сорсом в монгодб нормально работает с кластером?

Vladimir
02.07.2018
16:32:24
есть где подробные примеры по sequenceMatch и windowFunnel?
https://docviewer.yandex.ru/view/159944842/?*=GTov%2FjRL1jAKOc7uWmTO0bmXRdB7InVybCI6InlhLWRpc2stcHVibGljOi8vbDdvd1hVaGw5bXdFUDlDTkU0YTBwNWhmYnRFaXVNTEQ1OGg4RzFsVHd1bz0iLCJ0aXRsZSI6IkNsaWNrSG91c2UgQmVybGluIDUuMTAuMjAxNyBNYW5zdXJvdmEucGRmIiwidWlkIjoiMTU5OTQ0ODQyIiwieXUiOiIyODU5MzIwMjIxNTI5MzI5Njc1Iiwibm9pZnJhbWUiOmZhbHNlLCJ0cyI6MTUyOTk4Nzg2NjM3Nn0%3D
Здесь есть несколько примеров

Google

nikita
02.07.2018
16:37:30
спасибо

Дмитрий
02.07.2018
19:37:28
А скажите пожалуйста почему таймстампы в примерах хрянятся как числа а не как честные datetime. Есть какая-то хитрость?

Wolf
02.07.2018
19:56:19
ну таймстемп потому что число

Дмитрий
02.07.2018
20:01:12
ну таймстемп потому что число
А технически в этом есть преимущество какое-то? Просто я только учусь мыслить кликхаусом, у меня сейчас даты честные...

Wolf
02.07.2018
20:01:54
Ну таймстемп это число, везде, о каких преимуществах может идти речь?

Victor
02.07.2018
20:02:06
очень удобно и нативно можно даты сортировать и вычитать.
Это unixtime.
И как бы, вы сами спрашиваете о таймстампе, это именно число

Дмитрий
02.07.2018
20:33:15

Victor
02.07.2018
20:34:02
кликхаузный datetime всё равно инфу о часовых поясах не хранит, зато вы можете поиметь проблем, о чём в доке написано
То есть, при работе с датой в виде текста (например, при сохранении текстовых дампов), следует иметь ввиду о проблемах с неоднозначностью во время перевода стрелок назад, и о проблемах с соответствием данных, при смене часового пояса.

Дмитрий
02.07.2018
20:38:40

Victor
02.07.2018
20:40:03
я пока на самом деле сам не представляю что делать, если у кого-то из правительства айфон поломается и он снова часы решит подвигать.
Склоняюсь к тому, что всё абсолютно буду хранить в UTC, а костыли уже на стороне приложения иметь

Дмитрий
02.07.2018
20:43:03
Вот я тоже все в utc. Только как datetime...

Ilya
03.07.2018
06:57:35
Коллеги, точно помню, что была функция вычисления гистограммы, но не могу найти ее

Victor
03.07.2018
06:57:41
bar?
https://clickhouse.yandex/docs/ru/functions/other_functions/#bar

Ilya
03.07.2018
06:58:16
да!

Alexander
03.07.2018
08:46:54
Всем привет. А как можно посмотреть, что именно тормозит insert? вставляю по http порциями по 600к строк. В логе межу событием <Debug> executeQuery: и следующим проходит около 20 секунд

Дмитрий
03.07.2018
08:52:04
так и не нашел где выставить max_query_size в настройках. в config.xml доавляю в корневой элемент yandex, рестартую клинхаус и пофиг

Vladimir
03.07.2018
09:06:34
Всем привет! Начала расти память и пул-таски на кластере Кликхауса - вот скрин https://yadi.sk/i/RwkO1fqZ3YhuXg - а после и ноды начали падать совсем, и перестает отвечать БД.
Нагрузка на кластер не выростала извне, количество запросов было такое же, как и примерно последние два месяца. Но вот сегодня что-то случилось непонятное. Может кто-то с таким сталкивался или есть примерные причины происходящего роста графиков и падений нод?

Google

Wolf
03.07.2018
09:08:29
посмотрите логи и топ на сервере

Stanislav
03.07.2018
09:12:16
Кстати, а вот чем можно объяснить такое:
Запросы на узлы раскидываются равномерно, объём места в этих репликах также изменяется синхронно, как и нагрузка на процессор.
Да, версия - 1.1.54381
После рестарта проблемного узла какое-то время всё нормально, потом снова начинается жор.

Alex
03.07.2018
09:21:17
Регулярно с такой же проблемой сталкиваемся, и решения не нашли.
Выжирает память в ноль и падает

M
03.07.2018
09:23:57
Может какой то unlimit uncompressed cache стоит..

Tima
03.07.2018
09:24:59
При попытки использовать DELETE для таблицы MergeTree пишет такую ошибку
Received exception from server (version 1.1.54388):
Code: 48. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Mutations are not supported by storage MergeTree.
Тогда вопрос: а для каких движков поддерживается DELETE?

M
03.07.2018
09:25:16
ReplicatedMergeTree

Tima
03.07.2018
09:26:16
А почему для MergeTree не поддерживается? Всмысле разве MergeTree и ReplicatedMergeTree не одного семейства?

M
03.07.2018
09:27:02
в процессе удаления

Stanislav
03.07.2018
09:29:48
Лично у меня настройки дефолтные в смысле кешей. То есть, лежит себе config.xml, а что надо - меняю в config.d
Пока понадобилось поменять - listen, логирование, макросы и вообще репликацию и зукипер. Для пользователей поменял лимит по-умолчанию, чтоб запросы влазили в память.

M
03.07.2018
09:30:33
Я к тому, что у нас когда то словари порождали зомби процессы

Stanislav
03.07.2018
09:31:23
словарей нет