clickhouse_ru | Unsorted

Telegram-канал clickhouse_ru - ClickHouse не тормозит

11238

Обсуждаем ClickHouse

Subscribe to a channel

ClickHouse не тормозит

ошибка я так понял возникает во время бэкапа

Читать полностью…

ClickHouse не тормозит

интересно.
надо как-нибудь обновится)

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

Читать полностью…

ClickHouse не тормозит

version 20.4.3.16 -- это КХ из далекого прошлого

там не было вообще user_directories

Читать полностью…

ClickHouse не тормозит

благодарю, завтра попробую.

Читать полностью…

ClickHouse не тормозит

Уточните, что значит "связать"?

Если вы говорите о том, что например, значение 0xFF....FF, которое будет в Int64 означать -1, а в UInt64 будет 2^64, то вам нужно

reinterpretAsUInt64

Читать полностью…

ClickHouse не тормозит

там их один в другой какак-то можно перевести?

добавив 9223372036854775807 к Int64 например...

Читать полностью…

ClickHouse не тормозит

insert into test (id, j) values(1, '{"value": 10000000000000000001}');
insert into test (id, j) values(2, '{"value": 100000000000000000001}');
insert into test (id, j) values(3, '{"value": 1000000000000000000001}');


┌─id─┬─j────────────────────────────────┐
1. │ 3 │ {"value":1000000000000000000010} │
2. │ 1 │ {"value":10000000000000000001} │
3. │ 2 │ {"value":100000000000000000003} │
└────┴──────────────────────────────────┘

Читать полностью…

ClickHouse не тормозит

Добрый вечер.

Подскажите пожаоуйста, как связать таблицы если в одной Int64 а в другой UInt64?

Читать полностью…

ClickHouse не тормозит

CREATE TABLE test (
id UInt32,
j JSON(value UInt128)
) ENGINE = MergeTree
order by id;

insert into test (id, j) values(1, '{"value": 10000000000000000001}');
insert into test (id, j) values(2, '{"value": 100000000000000000001}'); -- error

Code: 117. DB::Exception: Cannot parse JSON object here: {"value": 100000000000000000001}: while executing 'FUNCTION if(isNull(-dummy-0) : 3, defaultValueOfTypeName('JSON(value UInt128)') :: 2, _CAST(-dummy-0, 'JSON(value UInt128)') :: 4) -> if(isNull(-dummy-0), defaultValueOfTypeName('JSON(value UInt128)'), _CAST(-dummy-0, 'JSON(value UInt... JSON(value UInt128) : 1': While executing ValuesBlockInputFormat. (INCORRECT_DATA) (version 25.8.2.29 (official build))

Читать полностью…

ClickHouse не тормозит

ну попробуйте при создании как то структуру описать...

CREATE TABLE test (
json JSON(your.path.to.column UInt128)
) ENGINE = MergeTree;

Читать полностью…

ClickHouse не тормозит

спасибо не добрался до этой части rfc с llm и без нее...

Читать полностью…

ClickHouse не тормозит

Это валидный JSON, но спецификация повзоляет имплементации накладывать ограничения на диапазон и точность валидных чисел.

https://datatracker.ietf.org/doc/html/rfc8259#page-7

This specification allows implementations to set limits on the range
and precision of numbers accepted.

Читать полностью…

ClickHouse не тормозит

у меня 3 нуля после точки

Читать полностью…

ClickHouse не тормозит

Да, конечно. Сейчас отошёл, минут через 20-30 скину

Читать полностью…

ClickHouse не тормозит

Если оставить один шард с одной репликой в кластере, то локально с этой реплики distributed запрос работает. А вот со второй падает, хотя если вернуть вместо сикрета техническую учетку - проблем не будет

Читать полностью…

ClickHouse не тормозит

Я бы не рисковал без поднятия нового кластера рядом 🙂

Читать полностью…

ClickHouse не тормозит

как и вообще system-табличек, относящихся к юзерам, даже system.users ещё тогда не завезли

Читать полностью…

ClickHouse не тормозит

Всем привет

Нашел в логах такие сообщения:
DB::Exception: Table system.user_directories doesn't exist. (version 20.4.3.16 (official build)) (from 127.0.0.1:43980) (in query: SELECT name FROM system.user_directories WHERE type='replicated')

DB::Exception: Table system.user_directories doesn't exist. (version 20.4.3.16 (official build)) (from 127.0.0.1:51314) (in query: SELECT JSONExtractString(params,'path') AS access_path FROM system.user_directories WHERE type='local directory')

куда копать ? в настройки кх ?
p.s. репликации нет, юзеры хранятся в файлике.

Читать полностью…

ClickHouse не тормозит

Я нашел такую штуку в коде , rapid json.

https://github.com/ClickHouse/ClickHouse/blob/master/src/Common/JSONParsers/RapidJSONParser.h


Можно же вот так код поменять, здесь я првоеряю переполнение IsDouble
?
ALWAYS_INLINE ElementType type() const
{
switch (ptr->GetType())
{
case rapidjson::kNumberType:
if (ptr->IsDouble()) {
// проверка на переполненние 2^53
if (ptr->GetDouble() > 9007199254740992.0)
return ElementType::STRING;
return ElementType::DOUBLE;
}
return ptr->IsUint64() ? ElementType::UINT64 : ElementType::INT64;

case rapidjson::kStringType: return ElementType::STRING;
case rapidjson::kArrayType: return ElementType::ARRAY;
case rapidjson::kObjectType: return ElementType::OBJECT;
case rapidjson::kTrueType:
case rapidjson::kFalseType: return ElementType::BOOL;
case rapidjson::kNullType: return ElementType::NULL_VALUE;
}
}

Читать полностью…

ClickHouse не тормозит

Вот что будет, если из этой таблицы сделать селект

https://fiddle.clickhouse.com/aeb91a61-df49-4d25-88c9-78f7e2a137ac

Я думаю, что это ошибка преобразования Float64

Читать полностью…

ClickHouse не тормозит

думаю стоит завести еще одно issue на github

это прямо забавно

Читать полностью…

ClickHouse не тормозит

Так работает, но вставляет неправильные значения

Читать полностью…

ClickHouse не тормозит

https://fiddle.clickhouse.com/51b9a847-a845-4d21-bf05-19c6bc9ac222

SET allow_simdjson = 0;

Читать полностью…

ClickHouse не тормозит

Логично, я этого бы и ждал от любого обработчика JSON.

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

Например, в JavaScript у вас будет любое число Float64, даже если это integer. Поэтому в JavaScript целые числа только до 2^53-1. Я понимаю, что это не JS, но поставьте себя на место разработчика, и представьте, как реализовать динамический числовой тип, который поддерживает что угодно.

Если вам нужен UInt128, то делайте в виде строки, и парсите в UInt128

Читать полностью…

ClickHouse не тормозит

Спасибо, но проблема в другом. Даже если отключить simdjson
То вставка в json поле происходит корректно, но при обращении к значению, точность начинает плавать, это критично, если у меня в json приходят id.

Т.е. автопарсилка определяет тип поля как float64, а нужно Uint128

Читать полностью…

ClickHouse не тормозит

поэтому нет, это не бага

Читать полностью…

ClickHouse не тормозит

а что это, у меня не DateTime64 же

Читать полностью…

ClickHouse не тормозит

Вот кусок из preprocessed_configs/config.xml с описанием тестового кластера. Он одинаковый на обеих нодах из него:

        <test_cluster>
<secret>my_secret_value</secret>
<shard>
<internal_replication>True</internal_replication>
<replica>
<host>clickhouse1...</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>True</internal_replication>
<replica>
<host>clickhouse2...</host>
<port>9000</port>
</replica>
</shard>
</test_cluster>

Читать полностью…

ClickHouse не тормозит

Покажите кусок XML. Замените креды на ...

Читать полностью…

ClickHouse не тормозит

Это ямловый конфиг клика, символы корректные. Пробовал просто цифры указывать, без результата.
В preprocessed_configs точно та же строчка, что указана в remote_servers, на обеих нодах...

Читать полностью…
Subscribe to a channel