
Tima
13.02.2018
08:34:00

Kirill
13.02.2018
08:34:02
Ну, в CloudFlare, насколько я помню, машины 12 x 10TB в RAID0, учитывая что КХ работает с партициями, а не со всей таблицей сразу ему должно быть относительно все равно на общий размер

Vladislav
13.02.2018
08:36:21
привет. подскажите, пожалуйста: на одной из шести нод перестали мержиться данные, таблица ReplicatedMergeTree. запускаю руками optimize table X partition 201712 – ничего не происходит, на зеркальной ноде все отрабатывает и ужимается в одну папку (видно, как появляется tmp_merge_*. что это может быть и куда копать?

Google

Kirill
13.02.2018
08:38:26

Vladislav
13.02.2018
08:39:04

Kirill
13.02.2018
08:39:55
А количество в parts меняется, что в
system.replication_queue
?

Vladislav
13.02.2018
08:42:12

Артемий
13.02.2018
09:50:06

Jen
13.02.2018
09:56:46
кто то владеет информацией о том, что за объем показывает цифра 12.42GB в аутпуте:
13806631 rows in set. Elapsed: 13.001 sec. Processed 676.40 million rows, 12.42 GB (52.03 million rows/s., 954.98 MB/s.)
Это объем данных, поднятых с диска в несжатом виде?

Andrey
13.02.2018
09:57:39

Jen
13.02.2018
09:58:03

Andrey
13.02.2018
09:59:36

Artiom
13.02.2018
10:10:39
а возможно ли сделать из таблицы со стандартным партишенингом (по месяцам) таблицу с кастомным партишенингом?
alter table bla ENGINE = MergeTree PARTITION BY toYYYYMM(FlightDate) Order By Year, FlightDate;
типа того как-то

Kirill
13.02.2018
10:13:05
нет

Artiom
13.02.2018
10:13:37
ну тогда получается надо сделать новую и перегнать данные

Google

Artiom
13.02.2018
10:13:44
тоже вариант ?

Virus
13.02.2018
10:14:14
после обновления сервера стали появляться в логах ошибки:
2018.02.13 10:10:01.823787 [ 1 ] <Error> Application: DB::Exception: Cannot lock file /opt/clickhouse/status. Another server instance in same directory is already running.
что это такое и как с ними бороться ? естесвенно запущена только одна копия сервера.
root@HQDH009:~# ps ax|grep click
1674 ? Ssl 77:07 /usr/bin/clickhouse-server —config=/etc/clickhouse-server/config.xml
35287 pts/0 S+ 0:00 grep —color=auto click

Stanislav
13.02.2018
10:16:12
Такой вопрос: возможно ли средствами кликхауса хранить часть данных не в дефолтном каталоге? Хочу вынести с ssd часть статистики, которая пишется редко, а читается ещё реже.

Andrey
13.02.2018
10:17:01

Stanislav
13.02.2018
10:17:12
Это средствами ОС :-)

Артемий
13.02.2018
10:17:52

Andrey
13.02.2018
10:18:24

Jen
13.02.2018
10:19:49

Kirill
13.02.2018
10:20:12

Александр
13.02.2018
11:27:28
@ztlpn @milovidov_an Наткнулся на странное поведение. Мне кажется, что должно работать по другому :)
Запрос: https://img.facedsid.ru/wc21p.jpg - все ок
Хотим посчитать кол-во строк поверх этого результата и неожиданное получаем: https://img.facedsid.ru/pllek.jpg
При этом если сделать вот так: https://img.facedsid.ru/hinyx.jpg, то все работает ок.
Получается, что КХ не вызывает агрегатную функцию, а тупо возвращает значение колонки :)
Мне кажется тут нужно бросить исключение на тему, что в результате есть колонка с названием агрегатной функции

papa
13.02.2018
11:29:06
у подзапроса получается колонка с именем count() и кликхаус считает этот набор букв ссылкой на столбец.

Александр
13.02.2018
11:29:12
Либо выводить именно результат колонки в случае, если название колонки совпадает с названием агрегатной функцией и явно экранировано типа count()

papa
13.02.2018
11:29:23
если сделаете select 1 as 2 тоже можно получить интересные эффекты

Александр
13.02.2018
11:29:38
Блин, это как define true false
Я просто предложил при совпадении названия колонки и агрегатной функции выводить значение колонки если только оно заключено в ``. Если же нет, то выполнять агрегатную функцию. Так будет правильно как минимум, или я не прав? )

papa
13.02.2018
11:37:35

Александр
13.02.2018
11:37:46
Заведу issue на гитхабе :)

Google

Alex
13.02.2018
11:48:07
Подскажите а как сделать DETACH для MATERIALIZED VIEW? Нашел вот план действий https://groups.google.com/forum/#!topic/clickhouse/tGq8fyH7uHY. Но при выполнении запроса пишет ошибку "Code: 48. DB::Exception: Received from 1111. DB::Exception: Method dropPartition is not supported by storage MaterializedView."

Александр
13.02.2018
11:51:17
Закинул issue, если кому интересно и кто придерживается такого же мнение :) https://github.com/yandex/ClickHouse/issues/1896

papa
13.02.2018
11:59:19
column from table with the same name as function name строго говоря эта колонка имеет не имя как у функции, а имя как вызов функции. в общем случае, когда выражение в select не алиасится в какое-то имя, то во внешнем запросе этот атрибут будет в качестве имени иметь свое собственное выражение. частным случаем выражения может быть вызов функции, константа, или что-то поинтересней. и при использовании ровно такого же выражения во внешнем запросе приоритет сейчас получит колонка запроса, а не смысл выражения.

Alexey
13.02.2018
12:00:41
а вы основную, скорее всего, альтерили

Alex
13.02.2018
12:01:25
Syntax error: failed at position 13:
ALTER TABLE '.inner.

Alexey
13.02.2018
12:02:00
alter table DB.`.inner.table`

Alex
13.02.2018
12:02:54

Александр
13.02.2018
12:22:05

Alex
13.02.2018
13:00:30
Коллеги, скажите, а есть возможность через метаданные, что хост из кластера стал недоступен?

Атата
13.02.2018
13:01:18

Anatoly
13.02.2018
13:03:44
Добрый день!
Подскажите по CollapsingMergeTree
Как можно посчитать кол-во подходящих под условие строк с учетом положительного/отрицательного Sign без FINAL
Есть запрос с постгреса типа SELECT SUM(CASE WHEN status = 5 then 1 else 0 END) FROM table , который возвращает кол-во строк в наборе, у которых статус равен 5
В CH запрос по идее должен быть SELECT SUM(if(sum(status * Sign) = 5, 1, 0)) FROM table, но CH ругается на аггрегатную функцию внутри другой аггрегатной
Как это можно обойти?

papa
13.02.2018
13:06:04

Dmitry
13.02.2018
13:10:42
Добрый день. Воспользовался X-Clickhouse-Progress и, если использовать InsertSelect, то в ответе в хедерах получаю количество записей равное количеству строк, что переполняет заголовок. можно ли как-то изначально попросить последнюю или что-то в этом роде?

prll
13.02.2018
13:14:07
можно поставить интервал больше, напрмиер раз в три секунды

Anatoly
13.02.2018
13:19:54

strange
13.02.2018
13:34:02
проклятый пожиратор переменых окружения debuild

Alexey
13.02.2018
13:36:22
разные версии ubuntu (14 и 16) при одинаковой версии сервера КХ 1.1.54342 могут доставить неудобств?

strange
13.02.2018
13:37:21
было бы странно

Google

Alexey
13.02.2018
13:48:13

Alexey
13.02.2018
13:50:07

Zo zo
13.02.2018
14:15:45
Подскажите, планируется большая таблица events ReplicatedMergeTree, в которой будет Date, Type и пачка других полей. Почти во всех SELECT'ах будет WHERE (Date), т.е. добавлять Date в первичный ключ однозначно надо, верно?
Type редко будет в WHERE, но почти всегда будет SELECT countIf(Type IN (1,2,3)) - стоит ли добавлять Type в первичный ключ?

Alex
13.02.2018
14:20:56
Если условие в countIf, индекс не будет использоваться. Только если в WHERE.

Артемий
13.02.2018
14:29:11
Подскажите, планируется большая таблица events ReplicatedMergeTree, в которой будет Date, Type и пачка других полей. Почти во всех SELECT'ах будет WHERE (Date), т.е. добавлять Date в первичный ключ однозначно надо, верно?
Type редко будет в WHERE, но почти всегда будет SELECT countIf(Type IN (1,2,3)) - стоит ли добавлять Type в первичный ключ?
Если всегда будет фильтр по дате, тогда нужен ключ: (date,type)
Есди сделать ключ по (type,date) - то будет быстрый поиск по типу, а так же по типу и дате.
При этом фильтр по типу должен быть всегда, иначе будет проивзодиться поиск по всем данным месяца.

Zo zo
13.02.2018
14:38:11
фильтра по типу не будет почти никогда (или вообще никогда), тип будет только в SELECT countIf(type)
еще в WHERE очень часто будет UserID. Поэтому планировал первыми двумя полями ключа делать Date, UserID. Попрос добавлять ли Type

Артемий
13.02.2018
14:43:23

Zo zo
13.02.2018
14:44:57
в WНЕRE Type участвовать не будет
понял, в индексе Type тогда не нужен
спасибо

Pavel
13.02.2018
14:54:19
Коллеги, вы не сталкивались с тем что replacingmertree ломает строки при схлопывании? У меня есть таблица, для которой справедливо равенство versionField = someOtherField. После оптимизации таблицы оно начинает нарушаться в ~0.01% записей.

Kirill
13.02.2018
14:55:21

Dmitry
13.02.2018
15:01:47
Подскажите, а можно как-нибудь получить affected rows, по аналогии, как выдает консоль КХ: 1705 rows in set. Elapsed: 0.016 sec. Processed 1.71 thousand rows, 44.33 KB (107.14 thousand rows/s., 2.79 MB/s.)?

Kirill
13.02.2018
15:03:10
Да, в формате JSON возвращается

Zo zo
13.02.2018
15:03:23
@kshvakov
Основная часть запросов будет такого вида:
SELECT countIf(EventType IN (1,2,3) as hits,
countIf(EventType IN (4,5,6) as clicks FROM t WHERE Date BETWEEN x AND y

Kirill
13.02.2018
15:03:57

Dmitry
13.02.2018
15:04:54

Zo zo
13.02.2018
15:06:02
@kshvakov Спасибо

Артемий
13.02.2018
16:02:47
Что производительнее, CollapsingMergeTree или ReplacingMergeTree?
Задача - заменять дубли на последние вствленные.

Google

Kirill
13.02.2018
16:04:33
Стоило немного отвлечся и КХ с мастера у меня не собирается https://gist.github.com/kshvakov/f3b89fdce85ad6ac1ac486ef5760bc42, печально

Pavel
13.02.2018
16:54:03
в 318 все плохо

LeiDruid
13.02.2018
17:11:28
@milovidov_an , Алексей, не планируете где-нибудь складировать very stable релизы?

Alexander
13.02.2018
17:20:51
Хорошие 292 и 327

Alexey
13.02.2018
17:23:39
2018.02.13 20:10:22.540548 [ 79 ] <Error> DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Timeout: connect timed out: 10.1.1.204:9009, e.what() = Timeout
2018.02.13 20:17:01.349013 [ 84 ] <Error> DB::StorageReplicatedMergeTree::queueTask()::<lambda(DB::StorageReplicatedMergeTree::LogEntryPtr&)>: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Timeout: connect timed out: 10.1.1.204:9009, e.what() = Timeout
добавил новый шард (две реплики), перенаправил запись в него, репликация работает, данные вставляются, вроде бы все ок, но такие ошибки в логе вижу
почему так?
вот это вот есть смысл увеличить? <keep_alive_timeout>3</keep_alive_timeout>


Dmitry
13.02.2018
17:43:20
MergeTree таблица - если в нее допустим писать маленькими порциями, скажем по 10-100 строк раз в секунду. Она внутри себя со временем оптимизируется для быстрого поиска, или навечно останется мелко фрагментированной?

LeiDruid
13.02.2018
17:51:01

Dmitry
13.02.2018
17:51:39
Т.е. фоновое слияние кусочков в итоге приведет ее к оптимальному виду или подоптимизирует только частично?

LeiDruid
13.02.2018
17:53:08

Kirill
13.02.2018
18:17:03

Dmitry
13.02.2018
18:23:08

Kirill
13.02.2018
18:29:25
Если не часто писать будете то проблем быть не должно