Size: a a a

ClickHouse не тормозит

2020 August 17

ML

Mimik Lamerger in ClickHouse не тормозит
я вероятно глуп =) я не понял, можете подробнее
источник

D

Dj in ClickHouse не тормозит
Mimik Lamerger
я вероятно глуп =) я не понял, можете подробнее
sum(1) на таблице в >256 строк даст проблему,

ЗЫ но КМК это пофикшено уже и работает норм
источник

ML

Mimik Lamerger in ClickHouse не тормозит
человек в cntx вставляет count() - я так понял строк, сколько всего строк, но сам по себе count отдаст бигинт, нет?
источник

D

Dj in ClickHouse не тормозит
select sum(num), sum(1) from (
select arrayJoin(range(1000000)) as num
);

499999500000  1000000
источник

ML

Mimik Lamerger in ClickHouse не тормозит
Dj
sum(1) на таблице в >256 строк даст проблему,

ЗЫ но КМК это пофикшено уже и работает норм
хм, это интересно, на своих кейсах не встречал, поэтому надо как-то не забыть о таком
источник

D

Dj in ClickHouse не тормозит
select sum(num), sum(toUInt8(1)) as col, toTypeName(col) from (
select arrayJoin(range(1000000)) as num
);

UInt64
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
аа, я не туда cast написал.

я просто не пишу обычно у MV описания полей, использую выведение типов из селекта

CREATE MATERIALIZED VIEW klmn
ENGINE = SummingMergeTree()  order by (ts) as
select ts, toDate(a.ts) dt, toUInt32(sum(1)) cntx, sum(a.size * a.cnt) sumx
from pqrs
group by ts;
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
по умолчанию у sum тип UInt64
источник

ML

Mimik Lamerger in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
аа, я не туда cast написал.

я просто не пишу обычно у MV описания полей, использую выведение типов из селекта

CREATE MATERIALIZED VIEW klmn
ENGINE = SummingMergeTree()  order by (ts) as
select ts, toDate(a.ts) dt, toUInt32(sum(1)) cntx, sum(a.size * a.cnt) sumx
from pqrs
group by ts;
а ну я уж сижу голову ломаю где я что пропустил, но почему не просто count а вот такая конструкция? toUInt32(sum(1))
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Mimik Lamerger
а ну я уж сижу голову ломаю где я что пропустил, но почему не просто count а вот такая конструкция? toUInt32(sum(1))
в этом случае да, без разницы, можно и count использовать
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
я по привычке написал, у меня обычно либо sum(case c dictGet) либо sumIf
источник

ML

Mimik Lamerger in ClickHouse не тормозит
ну я оже малость зануду включил, хотел понять почему именно такой кейс =)
источник

i

iPrior in ClickHouse не тормозит
если кому интересно мои мыторства :)
версия 19.13.2.19 кликхауса подтягивает timezone из ОС, а не из конфиг файла
источник

D

Dj in ClickHouse не тормозит
Dmitry Molchanov
Всем привет.
Подскажите, как бы проредить данные? Например есть таблица c дискретностью до 5 раз в секунду
ts (unix timestamp), value
1597081596.081 , 1
1597081596.192 , 0
1597081596.438 , 1
1597081596.678 , 0
1597081596.982 , 1
1597081597.082 , 1
1597081597.199 , 1
1597081597.371 , 0
1597081597.663 , 1
1597081597.958 , 1

Нужно оставить только по 3 значения в секунду. Желательно как-нибудь ровненько разделить по периоду.
можно так, но сожрет всю память если кардинальность высокая...

select filteredArr.1 as ts, trunc(ts) as truncts, filteredArr.2 as val from (
with 3 as cntneeeded
select trunc(ts) as tssec,
 arraySort(x-> x.1, groupArray((ts, val)) as arr) sortedArr,
 arrayCount(x->1, arr) arrCnt,
 arrayMap(x-> floor((x+1)*arrCnt/cntneeeded), range(cntneeeded)) idxArr,
 arrayFilter( (x,y)-> has(idxArr, y+1), sortedArr, range(arrCnt) ) filteredArr
from (
select 1597081596.081 as ts, 1 as val UNION ALL
select 1597081596.192 as ts, 0 as val UNION ALL
select 1597081596.438 as ts, 1 as val UNION ALL
select 1597081596.678 as ts, 0 as val UNION ALL
select 1597081596.982 as ts, 1 as val UNION ALL
select 1597081598.678 as ts, 0 as val UNION ALL
select 1597081598.982 as ts, 1 as val UNION ALL
select 1597081597.082 as ts, 1 as val UNION ALL
select 1597081597.199 as ts, 1 as val UNION ALL
select 1597081597.371 as ts, 0 as val UNION ALL
select 1597081597.373 as ts, 1 as val UNION ALL
select 1597081597.372 as ts, 0 as val UNION ALL
select 1597081597.663 as ts, 1 as val UNION ALL
select 1597081597.958 as ts, 1 as val
) group by tssec
) array join filteredArr;
источник

ML

Mimik Lamerger in ClickHouse не тормозит
iPrior
если кому интересно мои мыторства :)
версия 19.13.2.19 кликхауса подтягивает timezone из ОС, а не из конфиг файла
🤣👍
источник

i

iPrior in ClickHouse не тормозит
вот так оно выглядит
root@ubuntu-bionic:/etc/clickhouse-server# clickhouse-client
ClickHouse client version 19.13.2.19 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 19.13.2 revision 54425.

ubuntu-bionic :) select timezone()

SELECT timezone()

┌─timezone()─┐
│ Etc/UTC    │
└────────────┘

1 rows in set. Elapsed: 0.004 sec.

ubuntu-bionic :) exit
Bye.
root@ubuntu-bionic:/etc/clickhouse-server# cat ./config.xml |grep timezone
   <timezone>UTC</timezone>
root@ubuntu-bionic:/etc/clickhouse-server# date
Mon Aug 17 14:22:56 UTC 2020
root@ubuntu-bionic:/etc/clickhouse-server# sudo timedatectl set-timezone Europe/Moscow
root@ubuntu-bionic:/etc/clickhouse-server# date
Mon Aug 17 17:24:01 MSK 2020
root@ubuntu-bionic:/etc/clickhouse-server# service clickhouse-server restart
root@ubuntu-bionic:/etc/clickhouse-server# clickhouse-client
ClickHouse client version 19.13.2.19 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 19.13.2 revision 54425.

ubuntu-bionic :) select timezone()

SELECT timezone()

┌─timezone()────┐
│ Europe/Moscow │
└───────────────┘

1 rows in set. Elapsed: 0.007 sec.

ubuntu-bionic :)
источник

ML

Mimik Lamerger in ClickHouse не тормозит
какой вывод мы можем сделать? админов нагнуть ибо первое правило кластера какое? правильно! версии софта должны быть одинаковые! =)
источник

ZZ

Zorro Zorroff in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
без него у вас в одну секунду может быть сколько угодно строк и они навсегда останутся в таблице несуммированными
а можно подробнее на эту тему? правильно ли я понимаю,что если один и тот же интервал будет содержаться в нескольких батчах инсертов, то мы рискуем получить перезаписывание старых частичных сумм новыми?
источник

i

iPrior in ClickHouse не тормозит
Mimik Lamerger
какой вывод мы можем сделать? админов нагнуть ибо первое правило кластера какое? правильно! версии софта должны быть одинаковые! =)
ох... тут есть некоторые недопонимания с моей стороны =) я человек новенький в компании, только-только исп.срок прошел =))) промолчу пока, выдам инфу для размышления им
источник

D

Dj in ClickHouse не тормозит
iPrior
вот так оно выглядит
root@ubuntu-bionic:/etc/clickhouse-server# clickhouse-client
ClickHouse client version 19.13.2.19 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 19.13.2 revision 54425.

ubuntu-bionic :) select timezone()

SELECT timezone()

┌─timezone()─┐
│ Etc/UTC    │
└────────────┘

1 rows in set. Elapsed: 0.004 sec.

ubuntu-bionic :) exit
Bye.
root@ubuntu-bionic:/etc/clickhouse-server# cat ./config.xml |grep timezone
   <timezone>UTC</timezone>
root@ubuntu-bionic:/etc/clickhouse-server# date
Mon Aug 17 14:22:56 UTC 2020
root@ubuntu-bionic:/etc/clickhouse-server# sudo timedatectl set-timezone Europe/Moscow
root@ubuntu-bionic:/etc/clickhouse-server# date
Mon Aug 17 17:24:01 MSK 2020
root@ubuntu-bionic:/etc/clickhouse-server# service clickhouse-server restart
root@ubuntu-bionic:/etc/clickhouse-server# clickhouse-client
ClickHouse client version 19.13.2.19 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 19.13.2 revision 54425.

ubuntu-bionic :) select timezone()

SELECT timezone()

┌─timezone()────┐
│ Europe/Moscow │
└───────────────┘

1 rows in set. Elapsed: 0.007 sec.

ubuntu-bionic :)
вы что-то не то делаете.
если вы не конфигурите в КХ - он берет из системы на старте КХ
если вы конфигурите в КХ - он берет из конфига

перепроверьте наверно
источник