
Stas
09.06.2018
14:52:21
Не мат, обычные

Dmitrii
09.06.2018
15:23:20
Вопрос, создал матвью CREATE MATERIALIZED VIEW view
(
....,
START_DATE_INDEX Date
)
ENGINE = ReplacingMergeTree(START_DATE_INDEX, (...), 8192) POPULATE AS
SELECT
...,
toDate(START_DATE)
FROM table
Создание прошло успешно

Denis
09.06.2018
15:23:31

Google

Dmitrii
09.06.2018
15:24:07
Но в логе DB::Exception: There is no column with name toDate(START_DATE). There are columns: .... : while pushing to view

Stas
09.06.2018
16:00:28

Denis
09.06.2018
16:16:21
да
Так дистрибьютид таблица тогда.

Stas
09.06.2018
16:16:47
и из merge в неё ходить?

Denis
09.06.2018
16:18:38
Мердж зачем? Просто дистрибьютид таблица и она проселекит одну из 10 реплик. Данные ведь одинаковые везде. Т.е. просто надо описать такой кластер в котором один шард и десять реплик и дистрибьютид таблица выберет один раз. Обычно в этом нет смысла потому что если есть локальная реплика , данные будут выбраны из нее. Ну можно описать кластер без текущего сервера. Проще запросы выполнять на разных серверах через какой-то балансировщик.

Mike
10.06.2018
06:36:49

Wolf
10.06.2018
06:37:28
Ну то есть очень много запросов по 50 мс?
В целом это же сводится на нет пулом соединений до кх

Stas
10.06.2018
06:40:54

Рулон
10.06.2018
07:29:10
В продолжении темы. тестирую нагрузку: при подключении больше 140 rps теряется подключение к КХ
кто нибудь тестировал нагрузку более 1000 rps ? или выбрать другое решение для такой задачи?

Google

Wolf
10.06.2018
07:34:23
1000 запросов в секунду на чтение ?

Maksim
10.06.2018
08:20:19

Сергей
10.06.2018
08:34:17
Коллеги, привет.
После удаления materialized view табикс отказывается загружаться.
Лог:
2018.06.10 08:31:38.678268 [ 29 ] <Error> HTTPHandler: Code: 60, e.displayText() = DB::Exception: Table default..inner.table doesn'$
Перезагрука не помогла.
Никто не сталкивался?

Tima
10.06.2018
08:45:18
Её можно удалить обычным DROP TABLE

Сергей
10.06.2018
08:47:03
Tima, спасибо за ответ. Так и сделал — после чего все запросы обрываются и пишет что не может найти таблицу.

Tima
10.06.2018
08:53:27
Любые запросы обрываются? Даже не связаные с этой матвью и таблицой?

Сергей
10.06.2018
09:01:29
Tima да на любые таблицы из дефолтной базы (матвью на ней была создана). Запросы к другим БД — норм идут.

?
10.06.2018
09:09:32
а как поисследовать почему словари могут не грузиться? они там на основе обычных вью, зависает на reload, в логах на уровне Debug ничего

Tima
10.06.2018
10:07:34

Andrey
10.06.2018
11:25:19

Рулон
10.06.2018
11:53:52

Maksim
10.06.2018
12:01:04

Александр
10.06.2018
12:17:31

Wolf
10.06.2018
12:22:48

Александр
10.06.2018
12:40:56
У нас с прокси среднее время выполнение уменьшилось

Wolf
10.06.2018
12:41:46
интересно

Александр
10.06.2018
12:56:54
Где вертикаль это кол-во rps а горизонталь время

Google

Александр
10.06.2018
12:58:08
С прокси вместо пиков видим стабильность по нагрузке(картинки нет под рукой)

Maksim
10.06.2018
13:39:26
Если прокси буферизирует ответ, то не удивительно
Для кх запрос уже отработан, и он отдал быстро тело ответа проксе, и освобождает пул для запросов

Denis
10.06.2018
13:45:13
если прокси умеет выстраивать запросы в очередь, то время отклика уменьшится из-за уменьшения конкуренции за диск. Это помогает когда много запросов приходят одновременно и мешают друг другу.

Aleksandr
10.06.2018
14:55:29
Привет! Не подскажете почему кликхаус может писать Database XXX doesn't exist. Диреткория /var/lib/clickhouse/data/XXX в наличии

Stanislav
10.06.2018
15:10:17
а соответствующие метаданные есть?

Aleksandr
10.06.2018
15:11:29

Stanislav
10.06.2018
15:12:31
лучше положить их в сторонку, после создания покласть в detached и потом зааттачить обратно.
в любом случае - сделать бекап до всех действий

Aleksandr
10.06.2018
15:16:07
ок, попробую. спасибо!
@j3qq4_h7h2v_2hch4_m3hk8_6m8vw а по содержимому /data никак же метаданные не восстановить?

Stanislav
10.06.2018
15:31:49
тут не в курсе - бекаплю всё разом.

Kirill
11.06.2018
02:54:08


nikita
11.06.2018
07:10:44
подскажите, как решить следующую проблему:
1. есть таблица MergeTree
2. над ней создается матвьюха AggregatingMergeTree
3. в этой матвьюхе есть вычисляемый через case (вложенные ifы) столбец
4. при создании матвьюхи на непустой существующей исходной таблице с ключом populate - все ок
5. но когда возобновляем запись в исходную таблицу, записывающий клиент получает исключения:
...Unknown identifier: error_type: while pushing to view default.exceptions1...
at ru.yandex.clickhouse.except.ClickHouseExceptionSpecifier.specify(ClickHouseExceptionSpecifier.java:53) ~[clickhouse-jdbc-0.1.39.jar:?]
error_type - имя вычисляемого столбца
exceptions1 - имя матвьюхи
как это лечить? полные sql и весь текст исключения здесь: https://pastebin.com/1AXNXQcg

Dmitrii
11.06.2018
07:48:36

nikita
11.06.2018
07:51:52

Dmitrii
11.06.2018
07:58:35
согласен, вроде прописано, но я решил аналогичный exception при помощи алиасов. так что видимо надо покопать в эту сторону

nikita
11.06.2018
07:59:05
а может быть такое, что в задании алиаса слово AS иногда обязательно?

Dmitrii
11.06.2018
07:59:10
зачем вообще столько вложенности в запросах? может упростить?

nikita
11.06.2018
07:59:27
вложенность лишняя, это понятно.

Google

Dmitrii
11.06.2018
08:00:36

nikita
11.06.2018
08:01:24
спасибо, буду пробовать.


Tima
11.06.2018
08:16:55
А кто-нибудь собирал документацию из исходником? Как вообще туда вносить дополнения?
Но при переходе на документацию получаю такое

Victor
11.06.2018
09:04:46
https://clickhouse.yandex/docs/ru/getting_started/example_datasets/ontime/
Друзья, а почему тут везде count(*), т.е. со звёздочкой, а не просто count()?
https://clickhouse.yandex/docs/ru/agg_functions/reference/
тут написано 0 аргументов у count.
На гитхаб в ишью с этим сходить? Или сразу PR?

Daniel
11.06.2018
09:10:52

Victor
11.06.2018
09:11:37

Wolf
11.06.2018
09:14:23
Это для поддержания разных диалектов, видимо так проще мигрировать с других баз на кликхаус
в общем это фича и так задумано , думаю тут ишью и пр неуместны

liebe
11.06.2018
09:35:36
Привет, а какие есть тулзы для миграций на КХ?

Anton
11.06.2018
09:38:33
Руки
Из монги проще что-то написать на условном python. Из вертики через tsv перегоняли. Из пг пока не приходилось
При миграции лучше писать в буферную таблицу, естественно, чтобы избежать частых мержей

George
11.06.2018
11:52:30
Скажите, а почему запрос max для array(int, внутри 5 элементов) примерно в 8 раз медленее, чем max для обычного unit'а? 419.02 million rows/s vs 15.84 million rows/s?

liebe
11.06.2018
12:50:20
@tarabanton руками в 2к18 не комильфо). Часто нужно, например, добавить таблицу/поле/схему одновременно на 10 баз.

Ivan
11.06.2018
12:56:16
Можно ли где то найти метрики как часто Buffer в действительности скидывает даные в таблицу?

Kirill
11.06.2018
13:05:31

Google

Kirill
11.06.2018
13:09:24

George
11.06.2018
13:20:11
... При этом если я делаю max(r) for ARRAY join(some_array), то оно отрабатывает быстрее, чем max(some_array). Раза в три быстрее.

Kirill
11.06.2018
13:21:29

George
11.06.2018
13:22:04
Да, но меня заинтересовало, почему max по массивам настолько медленный.
Точнее, не стоит ли этот array порезать на 5 отдельных колонок?

Vladimir
11.06.2018
13:29:54
Добрый день

Denis
11.06.2018
13:30:12

Vladimir
11.06.2018
13:30:34
Где затык?
show tables
SHOW TABLES
Ok.
0 rows in set. Elapsed: 0.001 sec.
CREATE TABLE default.MetricsDistributed (.....
Received exception from server (version 1.1.54383):
Code: 337. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: Table default.MetricsDistributed is creating or attaching right now.
Тоест таблиц нет
И создать не дает
Пишет что в процессе
Пробовал сервер рестартануть, не помогает