Size: a a a

ClickHouse не тормозит

2020 July 06

M

Maxim Bogdanov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
c другой стороны если вам всегда в запросах нужно все целиком и Goals.ID сотни и они все заранее неизвестны, то nested(массивы) тоже норм.
Да, у меня как раз тот случай, когда Goals известны заранее.
источник

RT

Roman Tarasov in ClickHouse не тормозит
всем привет!
столкнулись с странным поведением кх
добавили в таблицу с движком CollapsingMergeTree новую колонку с типом String
потом решили пеменять название)
захотели дропнуть эту колонку
и вот колонка дропается уже второй час
у нас 3 шарда по 4 реплики на шард
ошибок в логах нет
источник

RT

Roman Tarasov in ClickHouse не тормозит
не имею понятия что смотреть, куда копать
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Roman Tarasov
всем привет!
столкнулись с странным поведением кх
добавили в таблицу с движком CollapsingMergeTree новую колонку с типом String
потом решили пеменять название)
захотели дропнуть эту колонку
и вот колонка дропается уже второй час
у нас 3 шарда по 4 реплики на шард
ошибок в логах нет
версия КХ
смотреть
в логи
в  system.replication_queue
в system.mutations
источник

RT

Roman Tarasov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
версия КХ
смотреть
в логи
в  system.replication_queue
в system.mutations
ClickHouse server version 20.3.10 revision 54433
подскажите пожалуйста
на что стоит обратить внимание ?
в  system.replication_queue
в system.mutations
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Roman Tarasov
ClickHouse server version 20.3.10 revision 54433
подскажите пожалуйста
на что стоит обратить внимание ?
в  system.replication_queue
в system.mutations
на поля с exception

>и вот колонка дропается уже второй час
объясните что под этим подразумевается? Вы в таблицу смотрели на всех шардах, репликах? Там поле еще есть?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
а да, drop колонки ждет мержей
источник

RT

Roman Tarasov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
на поля с exception

>и вот колонка дропается уже второй час
объясните что под этим подразумевается? Вы в таблицу смотрели на всех шардах, репликах? Там поле еще есть?
да, вот поля уже нет на репликах
но в очереди /clickhouse/task_queue/ddl/query-*/finished из 12 серверов отработал запрос только на 11
на одном лидере еще висит в процесс листе этот альтер на дроп поля
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Roman Tarasov
да, вот поля уже нет на репликах
но в очереди /clickhouse/task_queue/ddl/query-*/finished из 12 серверов отработал запрос только на 11
на одном лидере еще висит в процесс листе этот альтер на дроп поля
ну на том сервере select * from system.merges и ищите там мерж на эту таблицу с elapsed большим
источник

A

Arsen in ClickHouse не тормозит
А как отсортировать строки внутри колонки?

На входе
bbbaaa
zabc

На выходе
aaabbb
abcz
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Arsen
А как отсортировать строки внутри колонки?

На входе
bbbaaa
zabc

На выходе
aaabbb
abcz
arraySort
источник

A

Arsen in ClickHouse не тормозит
источник

DN

Dmitriy Novikov in ClickHouse не тормозит
ну так кх просит сначалf сделать array
источник

M

Marat in ClickHouse не тормозит
привет, подскажите, как отобрать такое:
есть таблица
k | v | c
-----------
1 | 1 | 0
1 | 2 | -1
1 | 2 | 3
2 | 2 | 3
2 | 2 | 8
2 | 3 | 1

нужно сгруппировать по k, найти для каждого k его максимальное значение v, и для строки с максимальным v вывести значение c (если максимальных значений v для одного k несколько, то вывести максимальное c)

т.е. результат запроса должен быть:
k | v | c
-----------
1 | 2 | 3
2 | 3 | 1

с аналитическими функциями я бы легко решил, а как в кликхаусе такое сделать?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
SELECT arrayStringConcat(arraySort(extractAll('zabc', '.')))
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Marat
привет, подскажите, как отобрать такое:
есть таблица
k | v | c
-----------
1 | 1 | 0
1 | 2 | -1
1 | 2 | 3
2 | 2 | 3
2 | 2 | 8
2 | 3 | 1

нужно сгруппировать по k, найти для каждого k его максимальное значение v, и для строки с максимальным v вывести значение c (если максимальных значений v для одного k несколько, то вывести максимальное c)

т.е. результат запроса должен быть:
k | v | c
-----------
1 | 2 | 3
2 | 3 | 1

с аналитическими функциями я бы легко решил, а как в кликхаусе такое сделать?
select k, max(v), argMax(c,(v,c))
источник

M

Marat in ClickHouse не тормозит
ок, спасибо
источник

RT

Roman Tarasov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ну на том сервере select * from system.merges и ищите там мерж на эту таблицу с elapsed большим
эх не успел, отработал на заключительной реплике
было подобное на тестовой таблице, но поле с типом uuid
добавить то добавили
а дропалось 30мин и всего то только дефолт был в поле
попробуем воспроизвести, глянуть что происходит в это момент как Вы описывали
источник

A

Arsen in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
SELECT arrayStringConcat(arraySort(extractAll('zabc', '.')))
❤️
источник

AE

Alexey Er in ClickHouse не тормозит
Ещё нубский вопрос:

create table T (a Int32, b Int32, c Int32, ...)
engine = ReplacingMergeTree()
order by (a b, c);


Для эффективного выполнения запросов select max(c) from T надо ли делать дополнительный индекс?
источник