Size: a a a

ClickHouse не тормозит

2020 May 19

S

Shazo in ClickHouse не тормозит
Макс Юю
уже полчаса гуглю и чет не понимаю чем ему индексы не нравятся
CREATE TABLE log
(
   `object_type` String,
   `object_id` Int64,
   `time` DateTime
)
ENGINE = MergeTree()
ORDER BY (object_type, object_id, time)
SETTINGS index_granularity = 8192
источник

МЮ

Макс Юю in ClickHouse не тормозит
Shazo
не припомню, а запятая в последней колонке?
))))))))))))) да спасибо большое извините за невнимательность
источник

D

Dmitry in ClickHouse не тормозит
Дорый день! В документации к оператору IN есть такое ограничение:
Don’t list too many values explicitly (i.e. millions). If a data set is large, put it in a temporary table (for example, see the section “External data for query processing”), then use a subquery.

Это значит, что заместо
SELECT UserID IN (123, 456, ....)

нужно использовать подзапрос в IN
SELECT UserID IN (Select UserID from ...)

правильно я понял?
источник

A

Andrey in ClickHouse не тормозит
Dmitry
Дорый день! В документации к оператору IN есть такое ограничение:
Don’t list too many values explicitly (i.e. millions). If a data set is large, put it in a temporary table (for example, see the section “External data for query processing”), then use a subquery.

Это значит, что заместо
SELECT UserID IN (123, 456, ....)

нужно использовать подзапрос в IN
SELECT UserID IN (Select UserID from ...)

правильно я понял?
да
источник

A

Andrey in ClickHouse не тормозит
Dmitry
Дорый день! В документации к оператору IN есть такое ограничение:
Don’t list too many values explicitly (i.e. millions). If a data set is large, put it in a temporary table (for example, see the section “External data for query processing”), then use a subquery.

Это значит, что заместо
SELECT UserID IN (123, 456, ....)

нужно использовать подзапрос в IN
SELECT UserID IN (Select UserID from ...)

правильно я понял?
Еще можно посмотреть на set
источник

SL

Sergey Lossev in ClickHouse не тормозит
Всем привет. Как поборот такую ситуацию?

Есть колонка col1 Nullable(String)
Хочу преобразовать её в String, чтобы вместо NULL бралось значение из col2

Но запрос
ALTER TABLE t MODIFY COLUMN col1 String DEFAULT col2
ругается ошибкой
Cannot convert NULL value to non-Nullable type (version 20.3.4.10 (official build))
источник

D

Dmitry in ClickHouse не тормозит
Andrey
Еще можно посмотреть на set
понял, спасибо! А еще такой вопрос - если делать JOIN наборов данных размером в 1-3 млн строк - это норм для КХ?
источник

A

Andrey in ClickHouse не тормозит
Dmitry
понял, спасибо! А еще такой вопрос - если делать JOIN наборов данных размером в 1-3 млн строк - это норм для КХ?
Вопрос стоит по другому, "хватит ли ему памяти?" )
источник

D

Dmitry in ClickHouse не тормозит
понял, спасибо. Дейсвительно жрет много - 9гб на запрос
источник

AS

Alexander Sapin in ClickHouse не тормозит
Sergey Lossev
Всем привет. Как поборот такую ситуацию?

Есть колонка col1 Nullable(String)
Хочу преобразовать её в String, чтобы вместо NULL бралось значение из col2

Но запрос
ALTER TABLE t MODIFY COLUMN col1 String DEFAULT col2
ругается ошибкой
Cannot convert NULL value to non-Nullable type (version 20.3.4.10 (official build))
Будет работать только если все NULL'ы из колонки самостоятельно убрать (например с помощью ALTER UPDATE), а потом MODIFY. На эту тему есть issue.
источник

SL

Sergey Lossev in ClickHouse не тормозит
Alexander Sapin
Будет работать только если все NULL'ы из колонки самостоятельно убрать (например с помощью ALTER UPDATE), а потом MODIFY. На эту тему есть issue.
Ок, спасибо, попробуем...
источник

VA

Victor A in ClickHouse не тормозит
добрый день. не нашел что это за ошибка и как ее лечить может кто подскажет? clickhouse Code: 76, e.displayText() = DB::Exception: Cannot open file , errno: 24, strerror: Too many open files, e.what() = DB::Exception
источник

AS

Alexander Sapin in ClickHouse не тормозит
Sergey Lossev
Ок, спасибо, попробуем...
Если текущий альтер залип, можно его увидеть в system.mutations и убить через kill mutation.
источник

A

Andrey in ClickHouse не тормозит
Victor A
добрый день. не нашел что это за ошибка и как ее лечить может кто подскажет? clickhouse Code: 76, e.displayText() = DB::Exception: Cannot open file , errno: 24, strerror: Too many open files, e.what() = DB::Exception
ulimit
источник

VA

Victor A in ClickHouse не тормозит
где выставить данный параметр ,в файде сервиса стоит infiniti в LimitNoFile и LimitNoFilesoft
источник

VA

Victor A in ClickHouse не тормозит
в сервисе
источник

E

Eugene in ClickHouse не тормозит
Всем привет! Читаю тут статью от Авито про использование Graphite и ClickHouse и наткнулся на то, что они говорят, что запускают по крону OPTIMIZE TABLE на старые партиции, что бы они схлопнулись с тридцатисекундных интервалов до пятиминутных. При этом таблица GraphiteMergeTree должна сама Rollup делать(?). Вопрос в том, это так и надо? Или оно само будет работать, как TTL?
источник

SL

Sergey Lossev in ClickHouse не тормозит
Кто может объяснить такое явление - если сделать запрос SELECT * FROM t LIMIT 10, КХ ооочень долго отвечает (почему-то).
А когда делаешь фильтр, который, по сути, ни на что не влияет, отвечает мгновенно. Например
SELECT *
FROM t
WHERE ProjectID!=БЕЛИБЕРДА
LIMIT 10
источник

SL

Sergey Lossev in ClickHouse не тормозит
Причем, если задать фильтр типа ... WHERE 1==1 ..., отвечает также долго
источник

SL

Sergey Lossev in ClickHouse не тормозит
Таблица, если что, партиционирована по четырём полям, а TTL на всю таблицу настроен так, что трёхмесячные данные отправляются на HDD, а свежие держатся на SSD. Но что-то мне подсказывает, что дело совсем не в этом
источник