Size: a a a

ClickHouse не тормозит

2020 May 22

ZZ

Zorro Zorroff in ClickHouse не тормозит
я прозевал и надо писать if?
источник

l

lnuynxa in ClickHouse не тормозит
least(greatest(x,-100),100)
источник

l

lnuynxa in ClickHouse не тормозит
можно еще так
источник

l

lnuynxa in ClickHouse не тормозит
интересно, что лучше будет
источник

СC

Стас C1rcle in ClickHouse не тормозит
Petr Ryzhov
если поменять параметры пользователя не вариант, то тогда в настройках драйвера можно снять опцию, но тогда бобёр начинает глючить
спасибо большое, помогло
источник

СC

Стас C1rcle in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
У пользователя есть режим readonly=2 , в этом режиме можно менять параметры сессии
так и не понял, как этот режим изменить, но помог совет выше)
источник

PR

Petr Ryzhov in ClickHouse не тормозит
Стас C1rcle
так и не понял, как этот режим изменить, но помог совет выше)
источник

SK

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

АФ

Алишер Фозилов... in ClickHouse не тормозит
Materialized View на движке AgregagingMergeTree это круто, но что делать, если таблица уже существует какое-то время, а Materialized View понадобилось только сейчас?
Как сделать так, чтоб в MV попало всё, что есть в отслеживаемой таблице?
источник

a

alexeysh RnD in ClickHouse не тормозит
Алишер Фозилов
Materialized View на движке AgregagingMergeTree это круто, но что делать, если таблица уже существует какое-то время, а Materialized View понадобилось только сейчас?
Как сделать так, чтоб в MV попало всё, что есть в отслеживаемой таблице?
вставить всё что нужно в таблицу .inner.<имя mv>
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
SELECT
   f.Title,
   s.UUID
FROM
(select * from two_db.hits) AS f
LEFT JOIN one_db.hits_dist AS s ON f.UUID = s.UUID
LIMIT 5
?
Максимально запутался с Distributed таблицами.
У меня есть 4 ноды в кластере: ch1, ch2, ch3, ch4
В ch1 находится база с таблицей - one_db.hits
В ch2 находится база с таблицей - two_db.hits

Что хочу сделать: Хочу с любой ноды получать данные с всех баз и таблиц кластера. Иметь возможность JOIN-ить таблицы для получения данных.

Вопрос: В каких нодах создать Distributed таблицы и на какие таблицы они должны ссылаться?


Рание создавал Distributed таблицу в ch1:
CREATE TABLE two_db.hits_dist (`field` type, ...) ENGINE = Distributed('ua_cluster', 'two_db', 'hits');

При
SELECT
   one.Title,
   two.UUID
FROM (select * from one_db.hits) AS one
LEFT JOIN two_db.hits_dist AS two ON two.UUID = one.UUID
LIMIT 5

Ругается, что в ch3, ch4 нет таблиц two_db.hits

Если создать таблицы two_db.hits что ссылаются на two_db.hits - ругается что сами на себя ссылаться не могут

Если создать таблицы two_db.hits_dist что ссылаются на two_db.hits - то проблема при SELECT остается

Если создать таблицы two_db.hits что ссылаются на two_db.hits_dist - то ошибка Distributed on Distributed is not supported
источник

DT

Dmitry Titov in ClickHouse не тормозит
У меня есть 4 ноды в кластере: ch1, ch2, ch3, ch4
В ch1 находится база с таблицей - one_db.hits
В ch2 находится база с таблицей - two_db.hits

У тебя должно быть два кластера

ch1 с нодой ch1 и таблицей one_db.hits
ch2 с нодой ch2 и таблицей two_db.hits

Но вообще это довольно странная схема
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Dmitry Titov
У меня есть 4 ноды в кластере: ch1, ch2, ch3, ch4
В ch1 находится база с таблицей - one_db.hits
В ch2 находится база с таблицей - two_db.hits

У тебя должно быть два кластера

ch1 с нодой ch1 и таблицей one_db.hits
ch2 с нодой ch2 и таблицей two_db.hits

Но вообще это довольно странная схема
Под нодой имеются ввиду отдельные сервера clickhouse. Все они в одном кластере. Необходимо наладить связи между нодами. Ранние писали, что можно это сделать через distributed таблицы. У меня обычный select нормально возвращает данные через dist таблицу, но есть и ексепшены. А при join нечего не возвращает кроме ексепшенов.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Serhii Kholodniuk
Под нодой имеются ввиду отдельные сервера clickhouse. Все они в одном кластере. Необходимо наладить связи между нодами. Ранние писали, что можно это сделать через distributed таблицы. У меня обычный select нормально возвращает данные через dist таблицу, но есть и ексепшены. А при join нечего не возвращает кроме ексепшенов.
Я понимаю, что вы имеет в виду под нодой.
но грубо говоря, у вас кластер должен состоять ТОЛЬКО из тех нод на которых находится ваша бд и таблица
если речь идет о one_db.hits То кластер состоит только из ноды ch1
если речь идет о two_db.hits То кластер состоит только из ноды ch2
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Dmitry Titov
Я понимаю, что вы имеет в виду под нодой.
но грубо говоря, у вас кластер должен состоять ТОЛЬКО из тех нод на которых находится ваша бд и таблица
если речь идет о one_db.hits То кластер состоит только из ноды ch1
если речь идет о two_db.hits То кластер состоит только из ноды ch2
Я не могу создать кластер с разными базами, и работать с ними?
источник

DT

Dmitry Titov in ClickHouse не тормозит
Когда ты создаешь кластер и создаешь дистрибьютед таблицу на этом кластере, ты подразумеваешь, что на каждой ноде этого кластера есть таблица на которую смотрит эта distributed. У тебя разве так?
источник

SK

Serhii Kholodniuk in ClickHouse не тормозит
Не так. Но думал можно прокинуть везде distributed таблицы и ноды это поймут.
источник

DT

Dmitry Titov in ClickHouse не тормозит
Можно, НО ты должен просто создать на каждой ноде кластер состоящий из одной ноды ch1
И будет ровно то, что ты хочешь
источник

DT

Dmitry Titov in ClickHouse не тормозит
ноды не обязательно должны быть в кластере N, что бы иметь возможность тащить из него таблицы.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Serhii Kholodniuk
Максимально запутался с Distributed таблицами.
У меня есть 4 ноды в кластере: ch1, ch2, ch3, ch4
В ch1 находится база с таблицей - one_db.hits
В ch2 находится база с таблицей - two_db.hits

Что хочу сделать: Хочу с любой ноды получать данные с всех баз и таблиц кластера. Иметь возможность JOIN-ить таблицы для получения данных.

Вопрос: В каких нодах создать Distributed таблицы и на какие таблицы они должны ссылаться?


Рание создавал Distributed таблицу в ch1:
CREATE TABLE two_db.hits_dist (`field` type, ...) ENGINE = Distributed('ua_cluster', 'two_db', 'hits');

При
SELECT
   one.Title,
   two.UUID
FROM (select * from one_db.hits) AS one
LEFT JOIN two_db.hits_dist AS two ON two.UUID = one.UUID
LIMIT 5

Ругается, что в ch3, ch4 нет таблиц two_db.hits

Если создать таблицы two_db.hits что ссылаются на two_db.hits - ругается что сами на себя ссылаться не могут

Если создать таблицы two_db.hits_dist что ссылаются на two_db.hits - то проблема при SELECT остается

Если создать таблицы two_db.hits что ссылаются на two_db.hits_dist - то ошибка Distributed on Distributed is not supported
источник