Size: a a a

ClickHouse не тормозит

2019 December 03

RT

Roman Tarasov in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Есть параметр что-то там Dictionary lazy load ?

Вообще словарь должен загрузится как и раньше. Сделайте тикет с полным логом в виде файла, чтобы было видно три попытки загрухки словаря.
пробовал менять параметр lazy load
к сожелению не помогло
до загрузки словарей не успевает дойти
источник

YV

Yuri Velgosha in ClickHouse не тормозит
Lars Ulrich
Подскажите пожалуйста, апдейт config.xml кушается на лету, или надо рестартовать сервер?
Большинство настроек на лету применяется
источник

AG

Artemeey Gavryushin in ClickHouse не тормозит
Lars Ulrich
Подскажите пожалуйста, апдейт config.xml кушается на лету, или надо рестартовать сервер?
Налету обновляется большинство натсроек, но не все

Сразу после измненеия проверьте значение настройки так
>SELECT * FROM system.settings WHERE name = 'имя настройки'
источник

LU

Lars Ulrich in ClickHouse не тормозит
Artemeey Gavryushin
Налету обновляется большинство натсроек, но не все

Сразу после измненеия проверьте значение настройки так
>SELECT * FROM system.settings WHERE name = 'имя настройки'
понял, спасибо! речь о доступе с не только локалхоста
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Lars Ulrich
Подскажите пожалуйста, апдейт config.xml кушается на лету, или надо рестартовать сервер?
Надо рестартовать. В config.xml только словари и описание кластера без перезагрузки
источник

LU

Lars Ulrich in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Надо рестартовать. В config.xml только словари и описание кластера без перезагрузки
благодарю
источник

НМ

Николай Моисеенко... in ClickHouse не тормозит
Artemeey Gavryushin
Это понятно. Но если в PG есть id = 1
А в CH есть id = 1, который повторяется 2 раза
То строки с id = 1 так же повторно скопируются, если написать id IN(1)

Возможно я не так понял
все верно, но это подходит под условия моей проблемы.

что бы понимать лучше опишу ситуацию чуть подробнее
у нас тут один... гм... не очень хороший человек, написал функционал, который для исправления одной ошибки, физически удаляет данные в PG и пересоздает запись, под новым ID (он уже знает что так делать не надо, и функционал, который он делал - исправлен, но вот данные остались и с ними нужно что-то делать)

в это время, на другом серваке, кафка, каждые 2 минуты, вытягивает данные из PG и поливает ими CH, как следствие в CH есть данные и по удаленным записям, и по пересозданным
в итоге каунт с одними и теми же условиями, выдает разницу в несколько сот тысяч записей, которые нужно как-то ликвидировать на CH
источник

AG

Artemeey Gavryushin in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
Надо рестартовать. В config.xml только словари и описание кластера без перезагрузки
Добрый день! Пожалуйста, подскажите с одним вопросом.

Есть запрос таково вида:

SELECT id, A.count
FROM table
WHERE id IN( SELECT 1 FROM A)

Таблица А - вычисляемая таблица, время вычиление неколько секунд (от 1 до 60).
id - первичный ключ, просто перенести A в JOIN, убрав WHERE не получится

Текущее решение:
SELECT id, A.count
FROM table
JOIN A
WHERE id IN( SELECT 1 FROM A)

Данное решение увеличивает время запроса в 2 раза. Хочется этого избежать.
источник

AG

Artemeey Gavryushin in ClickHouse не тормозит
Николай Моисеенко
все верно, но это подходит под условия моей проблемы.

что бы понимать лучше опишу ситуацию чуть подробнее
у нас тут один... гм... не очень хороший человек, написал функционал, который для исправления одной ошибки, физически удаляет данные в PG и пересоздает запись, под новым ID (он уже знает что так делать не надо, и функционал, который он делал - исправлен, но вот данные остались и с ними нужно что-то делать)

в это время, на другом серваке, кафка, каждые 2 минуты, вытягивает данные из PG и поливает ими CH, как следствие в CH есть данные и по удаленным записям, и по пересозданным
в итоге каунт с одними и теми же условиями, выдает разницу в несколько сот тысяч записей, которые нужно как-то ликвидировать на CH
Для миллиона строк решение вполне вменяемое
источник

ПК

Павел Клементьев... in ClickHouse не тормозит
select * from a any inner join table using(id), тогда правда у вас вся таблица будет в память вычитываться, если она очень большая то это решение не подойдет
источник

DT

Dmitry Titov in ClickHouse не тормозит
хм, topK возвращает только 10 результатов
источник

Puma Вольфович... in ClickHouse не тормозит
А как посмотреть в кх очередь заданий ddl ?
источник

Puma Вольфович... in ClickHouse не тормозит
А в кх не появилась возможность добавлять колонки в distibuted таблицу ? или чтобы она автоматом подхватывала если изменились колонки в таблице на которую она смотрит
источник

S

Shazo in ClickHouse не тормозит
ALTER возможен на distributed, а так проще же пересоздать?
источник

K

Konstantin Ilchenko in ClickHouse не тормозит
Alexander Shebanin
Появилась задача на накопительный итог. В чатике нашел упоминания фукнции runningAccumulate, которую успешно использовали.
на примере:
SELECT 
   EventDate,
   finalizeAggregation(state),
   runningAccumulate(state)
FROM
(
   SELECT
       EventDate,
       uniqState(UserID) AS state
   FROM test.hits
   GROUP BY EventDate
   ORDER BY EventDate ASC
)

Но, если добавить в группировку не токль EventDate, но и допустим EventType, то функция runningAccumulate будет считать аккумулирования игнорируя EventType, потому что, как я понял, состяние агрегатной функции не резетится. В связи с этим вопрос, как решить подобную задачу, если надо заккамулировать не по одному ключу группировки, а по нескольким? Выше было сообщение, на которое я ответил, но я не очень его понял)
Всем привет, подскажите, кто-то смог решить эту задачу через runningAccumulate или надо использовать массивы + arrayCumSum?
источник

AS

Alexander Shebanin in ClickHouse не тормозит
Konstantin Ilchenko
Всем привет, подскажите, кто-то смог решить эту задачу через runningAccumulate или надо использовать массивы + arrayCumSum?
Привет. Мы увеличили размер чанка, однако, это помогло лишь в уменьшении производительности. groupArray -> arrayCumSum
решило все проблемы.
источник

K

Konstantin Ilchenko in ClickHouse не тормозит
понял, спасибо
источник

Puma Вольфович... in ClickHouse не тормозит
Shazo
ALTER возможен на distributed, а так проще же пересоздать?
пересоздание подразумевает удаление таблицы то есть какой то простой а это не айс
источник

A

Andrey in ClickHouse не тормозит
всем привет, видел тут уже кто-то боролся с ошибкой
DB::Exception: Too many parts (316). Merges are processing significantly slower than inserts..

и у них был доступ к CH серверу, а у меня нет доступа, что можно сделать, без доступа к серверу? заливаю файлы так
cat $file | clickhouse-client --host $host --user $user --password=$password --query="INSERT INTO table.daily(\
EventDate,EventTime,Name,Node,Country,Url,Delay,Code,Error,Price,Cur,Img,ImgRich,Title,Winner,Domain\
               ) FORMAT TabSeparated"


в файлах примерно 50к-70к строк, новые файлы появляются каждую минуту
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Artemeey Gavryushin
Добрый день! Пожалуйста, подскажите с одним вопросом.

Есть запрос таково вида:

SELECT id, A.count
FROM table
WHERE id IN( SELECT 1 FROM A)

Таблица А - вычисляемая таблица, время вычиление неколько секунд (от 1 до 60).
id - первичный ключ, просто перенести A в JOIN, убрав WHERE не получится

Текущее решение:
SELECT id, A.count
FROM table
JOIN A
WHERE id IN( SELECT 1 FROM A)

Данное решение увеличивает время запроса в 2 раза. Хочется этого избежать.
что такое SELECT 1 FROM A

SELECT id, A.count
FROM table
JOIN A
WHERE id IN( SELECT 1 FROM A)
источник