Size: a a a

ClickHouse не тормозит

2019 December 05

DC

Denny Crane (I don't... in ClickHouse не тормозит
Shcherbakan Maksym
Всем привет, нужен совет, кто обновлял клихаус просто с краторным разрывом от текущей версии)) Есть база примерно 0.5T, кликхаус 1.1.54336. Обновляться сразу до последней, я боюсь. У меня есть вторая нода там сейчас 19.17.4.11, я перекинул данные просто копированиаем файлов на обновленную ноду, вроде все работает и проблем как таковых нет. Кто-то знает могут ли быть какието проблемы в дальнейшем и стоит ли так вообще перекидывать? Стопать продовскую ноду на долго не вариант
вы все сделали правильно.

Проблемы будут у приложения. Тестируйте приложение.
источник

SM

Shcherbakan Maksym in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
вы все сделали правильно.

Проблемы будут у приложения. Тестируйте приложение.
как раз этим и занимаемся)
источник

OD

Olga Daykhovskaya in ClickHouse не тормозит
Кто-то сталкивался с таким?
Code: 20. DB::Exception: Received from host:port. DB::Exception: Number of columns doesn't match.

Какой-то плавающий баг, возникающий в рандомных местах 🤷‍♀️
Подробнее эту дичь описала здесь https://github.com/ClickHouse/ClickHouse/issues/8030
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Shcherbakan Maksym
как раз этим и занимаемся)
было очень много изменений в sql. Например SELECT count(*) FROM table WHERE 0 выдает другой результат (empty_result_for_aggregation_by_empty_set) Читайте changelog Backward incompatible changes.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Olga Daykhovskaya
Кто-то сталкивался с таким?
Code: 20. DB::Exception: Received from host:port. DB::Exception: Number of columns doesn't match.

Какой-то плавающий баг, возникающий в рандомных местах 🤷‍♀️
Подробнее эту дичь описала здесь https://github.com/ClickHouse/ClickHouse/issues/8030
ну баг и что? Никто кроме вас так инсерты делать еще не догадался.
Это вообще какой странный подход. Непонятно зачем так делать инсерты.
По-моему вы шли в библиотеку, зашли в лес, потерялись, и спрашиваете где север. Я не знаю где север, знаю где библиотека.
источник

OD

Olga Daykhovskaya in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ну баг и что? Никто кроме вас так инсерты делать еще не догадался.
Это вообще какой странный подход. Непонятно зачем так делать инсерты.
По-моему вы шли в библиотеку, зашли в лес, потерялись, и спрашиваете где север. Я не знаю где север, знаю где библиотека.
А как еще инсертить в столбцы AggregateFunction?
У вас есть другие предложения?

You can’t use a normal INSERT to insert a row in a table containing AggregateFunction columns, because you can’t explicitly define the AggregateFunction value. Instead, use INSERT SELECT with ‘-State’ aggregate functions for inserting data. (пруф https://clickhouse-docs.readthedocs.io/en/latest/table_engines/aggregatingmergetree.html)
источник

RG

Rodion Gorbachev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Какой-то бред. Зачем насиловать все insert-ми, если можно просто скопировать файлы?
@den_crane Нет , не бред - при всем уважении к вам. Я предположил , что структура таблиц , может быть изменена на новом сервере. Ну как минимум - использован новый синтаксис в создании таблиц
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Olga Daykhovskaya
А как еще инсертить в столбцы AggregateFunction?
У вас есть другие предложения?

You can’t use a normal INSERT to insert a row in a table containing AggregateFunction columns, because you can’t explicitly define the AggregateFunction value. Instead, use INSERT SELECT with ‘-State’ aggregate functions for inserting data. (пруф https://clickhouse-docs.readthedocs.io/en/latest/table_engines/aggregatingmergetree.html)
>А как еще инсертить в столбцы AggregateFunction
конечно знаю 🙂 .

создаете null таблицу, навешиваете на нее MV и вставляете в null. Я только так и делаю.
https://gist.github.com/den-crane/f7382cd4f1f859ff6ac46afe7dc9925a
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Rodion Gorbachev
@den_crane Нет , не бред - при всем уважении к вам. Я предположил , что структура таблиц , может быть изменена на новом сервере. Ну как минимум - использован новый синтаксис в создании таблиц
Так и где ТС просил переделывать таблицу? Где ему в ответе написали что все можно переделать при этом?
а copier вообще требуют кучу мозговых усилий и зукипер.
источник

RG

Rodion Gorbachev in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Так и где ТС просил переделывать таблицу? Где ему в ответе написали что все можно переделать при этом?
а copier вообще требуют кучу мозговых усилий и зукипер.
Но это же не значит , что мое предложение - бред ? ; )) это еще один из вариантов решения задачи. На самом деле я сам не раз переносил файлами - это конечно же быстрее
источник

RG

Rodion Gorbachev in ClickHouse не тормозит
Повторюсь - это позволит как минимум избавиться от depricated методов создания таблиц.
источник

OD

Olga Daykhovskaya in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
>А как еще инсертить в столбцы AggregateFunction
конечно знаю 🙂 .

создаете null таблицу, навешиваете на нее MV и вставляете в null. Я только так и делаю.
https://gist.github.com/den-crane/f7382cd4f1f859ff6ac46afe7dc9925a
Интересный подход, но если честно выглядит как костыль
Хотелось бы инсертить напрямую
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Olga Daykhovskaya
Интересный подход, но если честно выглядит как костыль
Хотелось бы инсертить напрямую
вы инстертите медленным парсером (из-за select-в), что вообще не подходит для bigdata.
напрямую можно новой функцие input , которая позволяет в insert
INSERT INTO example SELECT id, ifNull(num, -1) FROM input('id UInt32, num Nullable(Int32)') format JSONEachRow {"id": 1, "num": null};


и еще вам можно использовать SimpleAggregateFunction

create table test_table
(
 x Int64,
 cnt   UInt32,
 min_ts SimpleAggregateFunction(min, UInt64)     Codec(LZ4),
 max_ts SimpleAggregateFunction(max, UInt64)    Codec(LZ4)
)
engine = AggregatingMergeTree() order by x


insert into test_table values (1,1,1,1);

insert into test_table values (1,1,2,2);

optimize table test_table final
select * from test_table
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
SimpleAggregateFunction для sum  / min / max работает быстрее и занимает меньше места, чем функции со стейтами
источник

OD

Olga Daykhovskaya in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
SimpleAggregateFunction для sum  / min / max работает быстрее и занимает меньше места, чем функции со стейтами
👍
источник

WK

Wolf Kreuzerkrieg in ClickHouse не тормозит
Коллеги, вопрос по зукиперу
источник

WK

Wolf Kreuzerkrieg in ClickHouse не тормозит
Как его сетапить в смысле скейла? я тут пытаюсь играться с реплицируеми таблицами и у меня ЗК умирает каждые несколько дней, по непонятным причинам. Проц на 100% и сервер не отвечает
источник

WK

Wolf Kreuzerkrieg in ClickHouse не тормозит
тестовые таблицы у меня по несколько сотен миллиардов строк, может бросить больше cpu power на все это?
источник

WK

Wolf Kreuzerkrieg in ClickHouse не тормозит
а больше это сколько? есть какие нибудь guidelines как конфигурировать ЗК под КХ?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
FixedString(50) -- лучше чем просто String только в случае если там действительно 50 символов, иначе надо использовать String

https://t.me/clickhouse_ru/87609
источник