
Phsm
02.05.2018
11:48:41
да, две кафковые таблицы создать - я уже тоже про это подумал
и читать в них одинаковые потоки.
Сейчас посмотрю сначала как оно себя ведёт на двух MV на одну кафковую таблицу :)

Tima
02.05.2018
11:55:12

Google

Phsm
02.05.2018
11:56:19
Вроде бы 2 матвью на кафковую таблицу помогло)

Michal
02.05.2018
13:09:53
Хм. Кликхаус читает данные из HTTP словаря последовательно, одним потоком?
Можно это поменять?

Wolf
02.05.2018
13:11:14
с файла ?

Michal
02.05.2018
13:11:38
HTTP
Похоже на то что кликхаус отправляет запросы на HTTP (layout=cache) блоками, что ок. Сервер HTTP с удовольствием ответил бы на несколько запросов одновременно, но кликхаус спрашивает строго последовательно.

Aleksandr
02.05.2018
13:59:18
Здравствуйте. Подскажите пожалуйста, нормальное ли это поведение у кликхауза: имеем таблицу test с полем event_date Date делаем выборку: where event_date between '2018-04-01' AND '2018-04-31' и в выборку попадает дата 2018-05-01 ?

Evgeny
02.05.2018
14:00:21
похоже на таймзону

Aleksandr
02.05.2018
14:00:39
таймзона Europe/Kiev
на серверах по крайне мере стоит
и дата записывается по Киевскому времени
но если сделать:
where event_date between '2018-04-01' AND '2018-04-30' - то все ок

Google

Kirill
02.05.2018
14:02:49
32-е это 2-е

Aleksandr
02.05.2018
14:03:14
то есть не баг а фича, ок буду учитывать на будущее, спасибо

Андрей
02.05.2018
14:33:42
Движок Merge не поддерживает проход по Distributed? Получаю "Source tables for Merge table are processing data up to different stages".
По чату покопал, не вижу, чтобы юзкейз был востребован. Было только одно похожее: навешивали вью на distributed. Но что сделать, если нужен проход по нескольким таблицам?
Наверняка же кто-то использует loghouse с репликами и шардами? Описанное выше нужно для таблицы logs.logs.


?
02.05.2018
15:01:06
а вот интересно, у меня есть многоэтажный селект с десятком джойнов, который на моих данных считает секунд 40-45. когда я окружаю его еще одним простым селектом SELECT * FROM (...) то он считает уже 80-90 секунд (табикс так вообще виснет).
это нормальное поведение?
а добавил еще один SELECT * FROM (SELECT * FROM (...)) и вообще минут 10 уже жду ?
ну не 10, соврал, в общем каждый добавочный селект в 2-2.5 раза время выборки увеличивает

Stanislav
02.05.2018
15:23:08
Угу, подтверждаю. Видимо, из-за того, что результат внутреннего селекта вначале сохраняется в память и только потом уже обрабатывается

Александр
02.05.2018
16:12:58
Я собственно жду когда пофиксят
Там если логи глянуть, то там сумасшедше КХ пытается вычислить набор колонок

?
02.05.2018
16:14:26
ага, спасибо, неожиданно просто оказалось

Alexander
02.05.2018
17:24:51

Kirill
02.05.2018
17:33:14

Руслан
02.05.2018
19:57:11


nikolay
02.05.2018
22:39:57
ребят, хелпаните. не могу настроить реплики. в логах такая ошибка: ReadWriteBufferFromHTTP: Sending request to http://185:9009/?endpoint=DataPartsExchange%3A%2Fclickhouse%2Ftables%2Fzoo%2Freplicas%2Fserver2&part=20170105_20170105_2_2_0&compress=false
конфиг кликхауса:
<remote_servers>
<test_d>
<shard>
<internal_replication>false</internal_replication>
<replica>
<host>91.240.84.5</host>
<port>9000</port>
<user>user</user>
<password>1</password>
</replica>
<replica>
<host>185.43.6.237</host>
<port>9000</port>
<user>user</user>
<password>1</password>
</replica>
</shard>
</test_d>
</remote_servers>
<zookeeper>
<node index="1">
<host>91.240.84.5</host>
<port>2181</port>
</node>
<node index="2">
<host>185.43.6.237</host>
<port>2181</port>
</node>
</zookeeper>
зукипер на обоих серверах запущен. почему в запросе он подставляет только первое число до точки? почему не весь ip?
insert делаю в distributed таблицу

Kirill
03.05.2018
05:03:18


Alexander
03.05.2018
07:07:08

Google

Ivan
03.05.2018
07:29:39
Колеги, скажите - подхватывает ли КХ сам обновленный конфиг? без рестарта?

Wolf
03.05.2018
07:30:52
подхватит но не все параметры забирает, и из инклудов по моему тоже еще не забирает , хотя может уже и поправили

Алексей
03.05.2018
07:32:38
у вас PK (key, value), а replace идет по PK, иначе как КХ догадается какие записи надо реплейсить
1 , 2 != 1 , 1
вам надо ENGINE = ReplacingMergeTree(date, (key), 8192, version)
но на самом деле разницы между final и argMax(value, version) по скорости не будет, это внутри насколько я понимаю одинаково примерно устроено.
ох, точно! чего-то я лишнего в PK напихал :О)
спасибо!

Kirill
03.05.2018
08:01:50

Vladislav
03.05.2018
08:59:18
Подскажите, можно ли как-нибудь сделать drop partition для materialized view? Можно ли удалить папки с нужной партицией?

Andrey
03.05.2018
09:13:35

Vladislav
03.05.2018
09:14:59

Артемий
03.05.2018
10:51:23
У меня задача - выгрузить все фразы, по которым были переходы за год из метрики. API метрики всегда возвращает результаты в сэмплировании. Иногда с очень большой разницей. В рельности фраз миллионы, он пишет - 10 тыс. И т.п.
Что делать в этой ситуации?

Tima
03.05.2018
10:59:14
Уточните, вы про какое API - Яндекс Метрика или Log? В Яндекс можно явно указать чтобы не использовал семплирование

Владимир
03.05.2018
11:04:08
Здравствуйте. Возник вопрос, как можно вычислить время, затрачиваемое на фулскан таблицы? В конкретном случае предполагается что будет идти поиск по полю String, длиной в 16 символов, но я не могу использовать его(или его часть) в качестве ключа партиционирования, поскольку набор для поиска может быть крайне рандомным, а период поиска - до пяти лет. За пять лет может накопится немалое количество данных, и хотелось бы понять, сколько времени будет занимать фулскан с простым условием поиска(where field in(....) ). Правильно ли я понимаю, что КХ будет для такого поиска в каждой партици сканировать только один файл, содержащий значения этого поля, и следовательно - время селекта не будет зависеть от объёма дополнительных данных в других полях?

Wolf
03.05.2018
11:12:11
да
вообще на самом деле проще залить данных и посмотреть

Артемий
03.05.2018
11:12:32

Владимир
03.05.2018
11:16:34
т.е. по сути, константное время поиска примерно вычисляется на основании скорости чтения диска * количество строк в таблице * на 16 байт(в данном случае)?

Vladislav
03.05.2018
11:58:48

Sergei
03.05.2018
13:20:38
Кто нибудь юзает движок ReplicatedAggregatingMergeTree или AggregatingMergeTree ? Используете ли Buffer перед ней ? И как создаете саму таблицу ? Как mat view ?

John
03.05.2018
13:26:44
а зачем буфер перед ней?

Sergei
03.05.2018
13:29:47

John
03.05.2018
13:33:22
надо делать так, чтобы не очень много было?
я просто использова materialized view aggregatedMergeTree

Google

Sergei
03.05.2018
13:36:15

Wolf
03.05.2018
13:37:21

Yuri
03.05.2018
13:43:20
Добрый день!
Использую таблицу ReplicatedCollapsingMergeTree. Поверх нее Distributed на трех нодах.
При запросе типа
select sum(item) as m0 from checks.all_viols final group by code
падает по памяти, хотя запрос без final выполняется без проблем
настройки
<max_memory_usage>3500000000</max_memory_usage>
<max_bytes_before_external_group_by>500000000</max_bytes_before_external_group_by>
<distributed_aggregation_memory_efficient>1</distributed_aggregation_memory_efficient>
<max_bytes_before_external_sort>500000000</max_bytes_before_external_sort>

Sergei
03.05.2018
13:44:27


Yuri
03.05.2018
14:21:10
Вернее даже так. Любая группировка по достаточно крупной таблице CollapsingMergeTree с final вызывает Memory limit (for query) exceeded, Даже простой запрос, который должен вернуть 20 строк
select code from checks.viols final group by code
При этом в логе есть записи о создании временных файлов с записью в них по 20 строк
2018.05.03 17:13:21.824731 [ 345 ] <Debug> Aggregator: Writing part of aggregation data into temporary file /var/lib/clickhouse/tmp/tmp27872qktsaa.
2018.05.03 17:13:21.824973 [ 345 ] <Trace> Aggregator: Max size of temporary block: 1 rows, 0.000 MiB.
2018.05.03 17:13:21.825295 [ 345 ] <Trace> Aggregator: Written part in 0.001 sec., 18 rows, 0.007 MiB uncompressed, 0.001 MiB compressed, 392.000 uncompressed bytes per row, 85.667 compressed bytes per row, compression rate: 4.576 (29301.
978 rows/sec., 10.954 MiB/sec. uncompressed, 2.394 MiB/sec. compressed)
Может в настройках есть еще какой-нибудь волшебный ключ, который я пропустил? Версия текущая стабильная.


Sergei
03.05.2018
14:22:25
имхо причина где то в этом 2018.05.03 17:13:21.824973 [ 345 ] <Trace> Aggregator: Max size of temporary block: 1 rows, 0.000 MiB.

Gubaydullin
03.05.2018
15:28:55
Добрый вечер, пытаюсь загрузить данные в кликхаус
в hit_data.sql данные вида
(1,2,NULL),
(1,2,3)
cat ./runtime/hit_data.sql | sudo docker run —rm —link test-clickhouse-server:clickhouse-server yandex/clickhouse-client —host clickhouse-server —database=default —query "INSERT INTO hit FORMAT Values"
Code: 108. DB::Exception: No data to insert
не могли бы вы подсказать, в чем дело.

antuan
03.05.2018
15:30:59
-it?
Или - t
Не помню точно
Но что-то типа того :)

Gubaydullin
03.05.2018
15:32:08
it - это interactive mode
если добавить -it то выходит:
the input device is not a TTY

antuan
03.05.2018
15:35:21
Так, а просто -t?

Lamobot
03.05.2018
15:36:51
-i
-t - это как раз TTY

Gubaydullin
03.05.2018
15:37:30
файл начинается с ('5aeb2c959ca22', 2, '5aa6492a832c7', 'de', 3, 3, '3_de', 100, 3, '3_de', 100,
$(cat ./runtime/hit_data.sql) | sudo docker run —rm —link test-clickhouse-server:clickhouse-server yandex/clickhouse-client —host clickhouse-server —database=default —query "INSERT INTO hit FORMAT Values"
Code: 108. DB::Exception: No data to insert
('5aeb2c959ca22',: command not found
вот ошибку начал по крайней мере выдавать

Google

Gubaydullin
03.05.2018
15:39:42
как скормить то данные клик хаусу?
что должно лежать в sql файле? (в каком формате)

Anton
03.05.2018
15:40:44
Вы уверены, что он понимает одновременно sql в stdin и —query?

Gubaydullin
03.05.2018
15:41:15
думаю да

antuan
03.05.2018
15:43:17
cat ~/sample.txt| docker run --net default -i --link ch_sample_1:clickhouse-server yandex/clickhouse-client --host clickhouse-server --database docker -q "INSERT INTO traffic_stats FORMAT TabSeparatedWithNames"
Так у меня пашет
-i

Gubaydullin
03.05.2018
15:45:00
а какой формат sample.txt?
что означает -i?

antuan
03.05.2018
15:45:31
А разница? Сделайте как я написал, только FORMAT поменяйте
docker run --help
У вас предыдущая ошибка потому что вы зачем-то cat с аргументом обернули в скобки и добавили $

Gubaydullin
03.05.2018
15:50:22
cat ./runtime/hit_data.sql | sudo docker run -i —rm —link test-clickhouse-server:clickhouse-server yandex/clickhouse-client —host clickhouse-server —database=default —query "INSERT INTO hit FORMAT Values"
Code: 53. DB::Exception: Type mismatch in IN or VALUES section. Expected: Int8. Got: String