
papa
10.04.2018
17:12:47
еще 70 лет, живем. видимо начали секунды считать как uint.

Denis
10.04.2018
17:26:21
ОК, отлично, но вообще 70 лет хватит не всем (Desperate gas producers sign 100-year shipping deals....).

Alexander
10.04.2018
17:27:45
если Газпром заюзаеют CH, тогда придется подумать )

LeiDruid
10.04.2018
17:31:59

Google

Mitrofanov
10.04.2018
17:50:26
Здравствуйте! Есть таблица типа Memory. После удаления таблицы память не освобождается. Только после перезапуска сервера. Это баг или фича? Или есть возможность покрутить конфигурацию, что бы память срузу освобождалась. ClickHouse server version 1.1.54370

Denis
10.04.2018
18:01:05


Mitrofanov
10.04.2018
18:15:03
скорее всего фича. Кстати какая память? Вот пример из top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3189 clickho+ 20 0 0.105t 0.022t 40820 S 1480 12.0 48474:04 clickhouse-serv
Я бы на VIRT столбик вообще не смотрел, т.е. реально КХ занимает 0.022TБ.
Нет, вроде физическая
До добавления таблицы
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3928 clickho+ 20 0 1819520 1,029g 38588 S 0,0 6,6 0:04.20 /usr/bin/clickhouse-server —config=/etc/clickhouse-server/config.xml
После добавления таблицы
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3928 clickho+ 20 0 1844096 1,170g 42748 S 0,0 7,5 0:05.80 /usr/bin/clickhouse-server —config=/etc/clickhouse-server/config.xml
После drop table
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3928 clickho+ 20 0 1844096 1,169g 42748 S 0,3 7,5 0:05.89 /usr/bin/clickhouse-server —config=/etc/clickhouse-server/config.xml
З.Ы. Таблица мелкая - 3KK строк.


Denis
10.04.2018
18:25:46
1,169g ну по-моему это нормально, это не отдаст, чтобы не перезапрашивать.
Можно смотреть
SELECT metric, formatReadableSize(value) FROM system.asynchronous_metrics where (metric LIKE 'generic%')
сколько показывает generic.current_allocated_bytes, должно быть около 1,169 (не отличаться в разы)

Alexey
10.04.2018
18:45:47
нужно ли что-то делать если селект висит и висит и не отваливается
kill не помогает
elapsed: 13608.366977925
вроде не мешает...
'waiting' - запросу отправлен сигнал завершения, ожидается его остановка; и так 3 часа уже

Mitrofanov
10.04.2018
18:52:09

Michal
10.04.2018
19:44:11
а если в какой-нибудь vim-mcedit вставлять то все норм ?
угу. По ощущениям - это связано в первую очередь со сложностью запроса, во вторую очередь с размером. Т.е. тривиальные большие запросы без проблем из буфера вставляются, а нетривиальные большие - часто портятся при вставке. Попробую сделать воспроизводимый пример.

prll
10.04.2018
19:46:37
и версию сервера конечно

Google

Alexey
10.04.2018
20:42:14
спс, если до завтра висеть будет, сделаю
пока висит :)

Slach
11.04.2018
04:19:06
Всем кому интересно как мониторить Clickhouse встроенными в CH средствами
собрал демо-стенд
https://github.com/Slach/clickhouse-metrics-grafana
планирую улучшать Dashboards и добавить Moira Alerts
и попробую все таки написать документацию

Jen
11.04.2018
04:20:21
Интересно, надо будет прикрутить к себе, спасибо

Andron
11.04.2018
06:23:08
Подскажите пожалуйста, CH из коробки, столбец с часто повторяющимися значениями Строки, создает ли CH под капотом какой-то словарь по столбцу для улучшения производительности, отъедает ли эта оптимизация оперативки у системы для дальнейшего отображения резулататов запроса? Спасибо

Wolf
11.04.2018
06:24:27
не создает
в целом все данные пожаты, тем более повторяющиеся

Andron
11.04.2018
06:25:49
спасибо!

Serge
11.04.2018
07:07:26
Друзья, приветствую!
подскажите, есть ли аналог mysql функции bit_count? (не нашел в доке)
нужно посчитать расстояние Хэмминга по симхешу

?
11.04.2018
07:15:17
или это два разных дашборда?
а, у меня через прометеус все тянется, это не подойдет, похоже

Andrew
11.04.2018
09:46:15
Добрый день друзья
прочитав доку по КХ и посмотрев как делаются там бекапы
верно ли я понимаю что можно удалить /var/lib/clickhouse/shadow/ после копирования и сам КХ не сломается?
подскажите пожалуйста

?
11.04.2018
10:01:10

Andrew
11.04.2018
10:01:39
а зачем удалять?
ну потому-что я скопировал на другой сервер
локально бекапы ненужны

Артемий
11.04.2018
10:13:54

Andrew
11.04.2018
10:14:25

Артемий
11.04.2018
10:14:50
Я не уверен, что CH сам ее создаст

Andrew
11.04.2018
10:16:08
спасибо огромное за помощь

Google

Alexander
11.04.2018
10:39:11
Привет!
Подскажите, кто знает
Например, есть таблица, где три колонки(date, value, type)
И в type есть три возможных значения
Как теперь это таблицу "транспонировать", чтобы эти три возможных значения стали новыми колонками?
Как нибудь по-простому можно?

Serge
11.04.2018
10:43:46
привет, у меня типа такого
insert into agg_table (url_hash, count_in_301_redirects, count_in_3xx_redirects, count_in_canonicals)
SELECT url_hash,
sumIf(value, vtype = 1) AS count_in_301_redirects,
sumIf(value, vtype = 2) AS count_in_3xx_redirects,
sumIf(value, vtype = 3) AS count_in_canonicals
from raw_table

Ivan
11.04.2018
10:44:06

Alexander
11.04.2018
10:45:27
Окей, всем спасиб)

papa
11.04.2018
10:58:40
а пока можно на простом sql попробовать тот кусок из hacker's delight реализовать.

Alexey
11.04.2018
11:02:23
добавить три новые колонки, выселектить зачения из type, и вставить их - куда проще-то? =)

Alexander
11.04.2018
11:06:54
новыми колонками в структуре или выводе select?
Я может не совсем правильно объяснил что хочу
Но вот как сейчас :
date | value | type
-------------------
1 | 10 | 1
1 | 15 | 2
1 | 20 | 3
И как я хочу :
date | type_1 | type_2 | type_3
------------------------------
1 | 10 | 15 | 20

Alexey
11.04.2018
11:07:19
Привет!
Подскажите, кто знает
Например, есть таблица, где три колонки(date, value, type)
И в type есть три возможных значения
Как теперь это таблицу "транспонировать", чтобы эти три возможных значения стали новыми колонками?
Как нибудь по-простому можно?
можно создать 3 колонки, а вставлять данные только в type, а в доп.колонках сделать типа
col1 DEFAULT (if type='monkey', 1, 0)
, они будут сами заполняться
если у вас имя колонки содержится в значении type, то по-простому никак

Alexander
11.04.2018
11:11:14
Я так и думал(
Ну ладно, спасибо

Slach
11.04.2018
11:15:34

?
11.04.2018
11:15:49
ага, ну я думал там что-то другое

Slach
11.04.2018
11:16:35

Павел
11.04.2018
11:22:32
Приветствую , работали с командой в CH , но он упал , при вызове комманды : clickhouse-client --password ... выдает ошибку : code: 210. BD:netexception: connection refused: (localhost: 9000, ::1) проверили этот порт ничем другим не занят, конфиги отредактировали (так что содержит и :: и ::1). Как запустить ?

Ivan
11.04.2018
11:28:23

Павел
11.04.2018
11:33:40

Жека
11.04.2018
11:45:12
Подскажите пожалуйста функцию, для вычисления интервала между датами

Jen
11.04.2018
11:45:34
через таймстамп?

Google

Жека
11.04.2018
11:45:46
да

Jen
11.04.2018
11:49:16
это было предложение)

Alex
11.04.2018
11:49:37
select toDate('2018-02-01') - toDate('2018-01-01')
не?)

Жека
11.04.2018
11:51:18
Спасибо

zVlad
11.04.2018
12:22:46
Помогите с запросом.
Aggregate function sum(Click) is found in WHERE or PREWHERE in query
IN:SELECT SiteId, (View) as views, sum(Click) as clicks FROM t.events WHERE clicks=150 group by SiteId FORMAT JSON
Как его составить, что бы небыло такой ошибки?

Ilya
11.04.2018
12:24:20

Kirill
11.04.2018
12:24:28
У ClickHouse с алиасами столбцов нужно быть осторожнее и не называть их также как и колонки

zVlad
11.04.2018
12:24:43
Алиасы не совпадают с названием колонок

Kirill
11.04.2018
12:25:39
Совпадают
clicks

zVlad
11.04.2018
12:26:22
sum(Click) as clicks не совпадают

Kirill
11.04.2018
12:28:00
where clicks = 150 ? Если хотите повесить условие на выполнение агрегатной функции то используйте HAVING

Konstantin
11.04.2018
12:28:13
having clicks = 150 не пробовали?

zVlad
11.04.2018
12:28:36
Пробовал HAVING. Тоже ничего

Kirill
11.04.2018
12:30:38
Значит неправильно пробовали SELECT SiteId, (View) as views, sum(Click) as clicks FROM t.events group by SiteId having clicks=150

Konstantin
11.04.2018
12:31:37
:) select game_id, sum(user_id) as sm from event_log group by game_id having sm = 6;
SELECT
game_id,
sum(user_id) AS sm
FROM event_log
GROUP BY game_id
HAVING sm = 6
┌─game_id─┬─sm─┐
│ 186 │ 6 │
└─────────┴────┘
1 rows in set. Elapsed: 0.279 sec. Processed 7.95 million rows, 63.57 MB (28.52 million rows/s., 228.17 MB/s.)

zVlad
11.04.2018
12:34:33
Спасибо! Но что то всеравно не так как мне надо )))

Andron
11.04.2018
12:49:09
Подскажите пожалуйста что делать в случае <Debug> MergeTreeReadPool: Slow read, event №1. ? Запрос просто выгребает данные за весь день, дата в индексе

M
11.04.2018
12:53:30
ничего не делать. Если у вас много потоков на чтение, то с каждым таким событием он будеи их уменьшать. Можете это запретить настройкой.
Это значит что во время чтнения анализатор говорит что уж слижком медленно, и наверное высокая нагрузка на диск, и тем самым уменьшает в дальнейшем кол-во потоков на чтение

Google

M
11.04.2018
12:54:58
если интересно, посмотрите параметр read_backoff_min_latency_ms
если выставить его в ноль, то clickhouse не будет уменьшать кол-во потоков на чтенние

Артемий
11.04.2018
13:02:20

M
11.04.2018
13:10:08

Andron
11.04.2018
13:11:13
спасибо за ответы

M
11.04.2018
13:13:17
впрочем, если контролируете кол-во одновременных запросов (например через chproxy) и знаете что дисковую подсистему можно подгрузить то можно поиграться с read_backoff_max_throughput и read_backoff_min_interval_between_events_ms. И выставить так, чтобы чтнение было с max_threads как можно дольше


Anton
11.04.2018
13:24:16
Добрый день. Имеется 3 таблицы, а именно связка Kafka -> MaterializedView -> MergeTree (все по официальной документации)
SQL таблиц следующий:
-- ClickHouse table
CREATE TABLE IF NOT EXISTS webrtc_stats_audio_received_kafka
(
timestamp UInt64,
clientPlatform String,
clientId String,
appVersion String,
conferenceId String,
participantId String,
trackId String,
audioDelay UInt16,
audioDelayDiff UInt16,
isHighAudioDelayDiff UInt8
)
ENGINE = Kafka('localhost:9092', 'webrtc_stats_audio_received', 'webrtc_stats_audio_received_clickhouse', 'JSONEachRow');
-- ClickHouse table
CREATE TABLE IF NOT EXISTS webrtc_stats_audio_received_merge_tree
(
date Date,
timestamp UInt64,
clientPlatform String,
clientId String,
appVersion String,
conferenceId String,
participantId String,
trackId String,
audioDelay UInt16,
audioDelayDiff UInt16,
isHighAudioDelayDiff UInt8
)
ENGINE = MergeTree(date, (trackId, date), 8192);
-- ClickHouse table
CREATE MATERIALIZED VIEW IF NOT EXISTS webrtc_stats_audio_received_materialized_view TO webrtc_stats_audio_received_merge_tree AS
SELECT
toDate(timestamp) AS date,
toUInt64(round(timestamp / 1000000)) AS timestamp,
clientPlatform,
clientId,
appVersion,
conferenceId,
participantId,
trackId,
audioDelay,
audioDelayDiff,
isHighAudioDelayDiff
FROM webrtc_stats_audio_received_kafka;
При отсутствии записи в кафка топик в логах вижу достаточно частые пары логов:
clickhouse_1 | 2018.04.11 13:15:53.353265 [ 26 ] <Debug> StorageKafka (webrtc_stats_audio_received_kafka): Started streaming to 1 attached views
clickhouse_1 | 2018.04.11 13:15:57.855020 [ 26 ] <Debug> StorageKafka (webrtc_stats_audio_received_kafka): Stopped streaming to views
При непрерывной записи данных в кафка топик (где-то раз в секунду) вижу только
clickhouse_1 | 2018.04.11 13:15:53.353265 [ 26 ] <Debug> StorageKafka (webrtc_stats_audio_received_kafka): Started streaming to 1 attached views
а стоппед стриминг не появляетс. Причем данные в мердж три не появляются. И только после того, как я прекращаю запись в кафка топик, в логах внезапно появляется
clickhouse_1 | 2018.04.11 13:25:57.865020 [ 26 ] <Debug> StorageKafka (webrtc_stats_audio_received_kafka): Stopped streaming to views
а также в мердж три появляются все "накопленные" вьюхой данные. Как будто активная запись в кафка таблицу заставляет вьюшку накапливать и ждать окончание записи в кафка таблицу.
Использую докер, версия ClickHouse, на которой появились проблемы: 1.1.54370
До этого все предположительно работало на версии 1.1.54327
Настройки выглядят верно: max_block_size │ 65536 и stream_flush_interval_ms │ 7500
Спасибо!


Anton
11.04.2018
14:08:39
Здравствуйте
Пытаемся восстановиться после потери железного хоста по инструкции: https://clickhouse.yandex/docs/ru/table_engines/replication/#_4
На хосте жил 1 из 3х Zookeeper и 1 из 4х ClickHouse - будем считать, что это реплика одного шарда
Zookeeper был просто переустановлен
КХ после выполнения процедуры вроде ожил
Но количество записей (ReplicatedMergeTree, count(*)) в нем и в его реплике _больше_ того, что было ранее
Причем логи полны всяких разных записей, самые удивительные это
<Debug> executeQuery: (from 192.168.0.43:56604) INSERT INTO events ...
Этот INSERT с "соседа"
Подскажите пожалуйста хотя бы куда копать

M
11.04.2018
14:12:17
IP / настройки макросов / хостнейм такие же как и были?

Anton
11.04.2018
14:12:28
Да
Все ставили из пакетов (своих)

M
11.04.2018
14:13:49
А Insert с "соседа". "Сосед" это другой шард?
или реплика?

Anton
11.04.2018
14:37:26
А Вы знаете, "сосед" - это хост, на котором была вставка в Distributed-таблицу.
Клиенты все отключены (вроде как).
Это может быть очередь записи?