Size: a a a

ClickHouse не тормозит

2020 September 03

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
кстати select _table, count() from group by _table посмотрите, может у вас и Distriubted попал под регулярку
не не, там нейминг конвеншн все дела, да и строки совпадают... только ГБ не совпали... отвалился коннект
источник

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
кстати select _table, count() from group by _table посмотрите, может у вас и Distriubted попал под регулярку
вот чего я совсем не ожидал конечно =))))
выставил max_threads=1, min_bytes_to_use_direct_io=1
 <Error> executeQuery: Code: 439, e.displayText() = DB::Exception: Cannot schedule a task (version 20.3.11.97 (official build))
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
я тестил как-то и с  min_bytes_to_use_direct_io=1 много чего будет падать, это такой дебаг режим для некоторых запросов только подходит
источник

D

Dj in ClickHouse не тормозит
а ну ок, я просто хотел эффект кеша между запросами убрать
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
похоже скоро кликхауз будет не только с кухонной раковиной но и с газовой плитой
SELECT formatRow('JSONEachRow', x, y) AS z
FROM
(
   SELECT
       number AS x,
       number / 3 AS y
   FROM numbers(3)
)

┌─z────────────────────────────────┐
│ {"x":"0","y":0}
                 │
│ {"x":"1","y":0.3333333333333333}

│ {"x":"2","y":0.6666666666666666}

└──────────────────────────────────┘
источник

AB

Artem Bochkov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
на самом деле эта настройка изменила поведение и стала работать как должна, а не так как мы все хотим :(((((((((((

и теперь есть
--timeout_before_checking_execution_speed arg                    Check that the speed is not too low after the specified time has elapsed.
которая позволяет вернуть  поведение если в 0 поставить
Большое спасибо!
источник

S

Slach in ClickHouse не тормозит
Mikhail
привет, подскажите плз, кто-нибудь активно использует ttl? по сравнению с партициями и дропом старых нет никаких проблем в плане производительности?
Ttl не вместо партиций используется а вместе с ними
Партиции позволяют при выборке данные отсечь
Если вы раньше делали дроп партиций
И вас устраивало то можно добавить ttl для более сложной логики
источник

S

Slawka in ClickHouse не тормозит
Изначально идет group by date, server order by date
То есть в ответе мы имеем

ДатаВремя сервер счётчик

01.02. 12:00 сервер1 122
01.02. 12:00 сервер2 102
01.02. 12:00 сервер3 12
01.02. 12:10 сервер1 126
01.02. 12:10 сервер2 122
01.02. 12:10 сервер3 122
Задача в одном запросе получить разницу счётчика сервера в промежутках времени
источник

S

Slawka in ClickHouse не тормозит
01.02. 12:00 сервер1 122
01.02. 12:00 сервер2 102
01.02. 12:00 сервер3 12
01.02. 12:10 сервер1 4
01.02. 12:10 сервер2 20
01.02. 12:10 сервер3 110
источник

O

Orlan in ClickHouse не тормозит
Привет всем! Помогите, пожалуста, как найти последний день месяца? StartOfMonth не то,  хочется типа такой функции   EndOfMonth. Например есть дата (2020-08-12), нужно с помощью этой  даты найти последний день месяца (августа), и должно вернутся 2020-08-31
источник

SZ

Sergey Zelenskiy in ClickHouse не тормозит
Всем привет! Вопрос такой, при использовнании движка HDFS если у поля типа String указать DEFAULT например str String DEFAULT '!!!DEFAULT!!!’, то при отсутствии ключа при заливке, будет подставлен не тот DEFAULT который указали, а пустаая строка. Собственно вопрос, является ли проблема известной и есть ли какие нибудь варианты обойти это?
источник

ДБ

Дмитрий Бережнов... in ClickHouse не тормозит
Orlan
Привет всем! Помогите, пожалуста, как найти последний день месяца? StartOfMonth не то,  хочется типа такой функции   EndOfMonth. Например есть дата (2020-08-12), нужно с помощью этой  даты найти последний день месяца (августа), и должно вернутся 2020-08-31
Попробуйте что-то типа такого
SELECT toStartOfMonth(toDateTime('2020-08-12 00:00:00') + INTERVAL 1 MONTH) - INTERVAL 1 DAY
источник

O

Orlan in ClickHouse не тормозит
Дмитрий Бережнов
Попробуйте что-то типа такого
SELECT toStartOfMonth(toDateTime('2020-08-12 00:00:00') + INTERVAL 1 MONTH) - INTERVAL 1 DAY
спасибо большое
источник

M

Maxim Bogdanov in ClickHouse не тормозит
А можно ли изменить у записи непосредственно PK? Читал Replacing и Collapsing — там PK используется для поиска дубликатов, то есть его де-факто нельзя изменить.
источник

AK

Anton Khokhrin in ClickHouse не тормозит
Maxim Bogdanov
А можно ли изменить у записи непосредственно PK? Читал Replacing и Collapsing — там PK используется для поиска дубликатов, то есть его де-факто нельзя изменить.
изменить = удалить запись со старым и добавить запись с новым
источник

D

Dj in ClickHouse не тормозит
Maxim Bogdanov
А можно ли изменить у записи непосредственно PK? Читал Replacing и Collapsing — там PK используется для поиска дубликатов, то есть его де-факто нельзя изменить.
Collapsingом удаляете старую, вставляете новую, в чем проблема?
источник

M

Maxim Bogdanov in ClickHouse не тормозит
Dj
Collapsingом удаляете старую, вставляете новую, в чем проблема?
Да, логично, спасибо.
источник

М

Митя in ClickHouse не тормозит
Подскажите пожалуйста, можно ли кастануть Array(String) к json?
Каст к String возвращает одинарные кавычки, вместо двойных
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Slawka
Изначально идет group by date, server order by date
То есть в ответе мы имеем

ДатаВремя сервер счётчик

01.02. 12:00 сервер1 122
01.02. 12:00 сервер2 102
01.02. 12:00 сервер3 12
01.02. 12:10 сервер1 126
01.02. 12:10 сервер2 122
01.02. 12:10 сервер3 122
Задача в одном запросе получить разницу счётчика сервера в промежутках времени
select server, date, diff
(select server, groupArray(date) gd, arrayDifference(groupArray(counter)) gc
from ()
group by server
) array join gd as date, gc as diff
источник

VS

Vladyslav Sakun in ClickHouse не тормозит
Добрый день!
Есть вопрос по внешним словарям.
В проекте внешние словари подключаются из MySQL.
Словари создаются через запрос CREATE DICTIONARY... SOURCE(MYSQL(replica(host '127.0.0.1')))
На продакшине у MySQL есть мастер и слейв.
Если упадёт мастер, то на его место встанет слейв и уже будет мастером со своим IP.
И чтобы словари в кликхаузе были актуальными в моём случае придётся пересоздавать словари с новым хостом.
Если при создании словаря задать 2 хоста
CREATE DICTIONARY... SOURCE(MYSQL(replica(host '127.0.0.1') replica(host '127.0.0.2')))
это решит проблему? Или может кто подскажет как это сделать правильно?
источник