Size: a a a

ClickHouse не тормозит

2020 September 11

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Chern Oleksander
а не подскажите как можно оптимизировать такой срипт
select ub.user_id,
      ub.created_date,
      cast(JSONExtractRaw(JSONExtractRaw(ub.details, 'game'), 'id') as int)       id,
      cast(JSONExtractRaw(JSONExtractRaw(ub.details, 'game'), 'name') as varchar) name_game,
      ub.amount
from user_balance ub
where
--       ub.user_id = 1 and
   ub.reason = 'bet'
 and created_date >= '2020-09-01 00:00:01'
не
могу выгрузить ((
>не могу выгрузить ((
в каком смысле?

однозначно можно заменить 4 JSONExtractRaw на один
источник

CO

Chern Oleksander in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
>не могу выгрузить ((
в каком смысле?

однозначно можно заменить 4 JSONExtractRaw на один
JSON
{
 "request_id": "2133743809",
 "roundnum": "1549390282",
 "wager_balance": {
   "amount": 0,
   "balance": 0
 },
 "max_payout": 9000,
 "sa": "",
 "game": {
   "id": 3465,
   "code": "GAME_NAME",
   "name": "GAME_NAME"
 }
}
источник

CO

Chern Oleksander in ClickHouse не тормозит
как-то не понял как достать название игры и ID
источник

CO

Chern Oleksander in ClickHouse не тормозит
Ошибка timeout
источник

АР

Артем Разуваев... in ClickHouse не тормозит
Ребят, нубасенький вопрос )
В Пайчарме есть датасорс для кликхауса.
Поднял контейнер, прицепился пайчармом. Работаю в колсоле, все виду и все работает.
Но не пойму как объект то питоновский создать? )
Мне что то еще надо доставить (clickhouse-driver) или в проф версии пайчарма что то есть?
источник

A

Artem in ClickHouse не тормозит
В документации написано:
> ClickHouse поддерживает отдельные операции с партициями, которые работают эффективнее, чем общие операции с этим же результатом над этими же данными.

Это о каких операциях идет речь? SELECT же не умеет фильтровать по PARTITION?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Artem
В документации написано:
> ClickHouse поддерживает отдельные операции с партициями, которые работают эффективнее, чем общие операции с этим же результатом над этими же данными.

Это о каких операциях идет речь? SELECT же не умеет фильтровать по PARTITION?
по where поле_партиционирования  отсекаются партиции, на самой ранней стадии запроса
источник

D

Dj in ClickHouse не тормозит
Artem
В документации написано:
> ClickHouse поддерживает отдельные операции с партициями, которые работают эффективнее, чем общие операции с этим же результатом над этими же данными.

Это о каких операциях идет речь? SELECT же не умеет фильтровать по PARTITION?
если аккуратно, то умеет:
select * from vs_cm_data vcd where _part like '202009-148%'
источник

D

Dj in ClickHouse не тормозит
Artem
В документации написано:
> ClickHouse поддерживает отдельные операции с партициями, которые работают эффективнее, чем общие операции с этим же результатом над этими же данными.

Это о каких операциях идет речь? SELECT же не умеет фильтровать по PARTITION?
партиция всегда является префиксом имени парта... и партишн прунинг работает с такими условиями на ок...
просто какой смысл в этом всем когда можно использовать непосредственно поля... все тлен...
источник

A

Artem in ClickHouse не тормозит
Dj
партиция всегда является префиксом имени парта... и партишн прунинг работает с такими условиями на ок...
просто какой смысл в этом всем когда можно использовать непосредственно поля... все тлен...
ну я в целом так себе и представлял все и фильтрацию по полю, которое в ключе партицирования. Просто смутило, что акцентируют внимание в документации на каких-то специальных операциях
источник

CO

Chern Oleksander in ClickHouse не тормозит
Ребят, а подскажите как убить квери ?
SELECT * FROM system.processes
делаю kill query where query_id ='asdasd546asdasd87'
но в процессах всеравно висит ((
источник

D

Dj in ClickHouse не тормозит
Artem
ну я в целом так себе и представлял все и фильтрацию по полю, которое в ключе партицирования. Просто смутило, что акцентируют внимание в документации на каких-то специальных операциях
там вообще имеют ввиду ДДЛ... дроп например, или перенести меж таблицами, аттач/детач
источник

D

Dj in ClickHouse не тормозит
Chern Oleksander
Ребят, а подскажите как убить квери ?
SELECT * FROM system.processes
делаю kill query where query_id ='asdasd546asdasd87'
но в процессах всеравно висит ((
насколько я знаю, килл  не моментально убивает, а когда поток удосужится проверить килл флаг
источник

A

Artem in ClickHouse не тормозит
Chern Oleksander
Ребят, а подскажите как убить квери ?
SELECT * FROM system.processes
делаю kill query where query_id ='asdasd546asdasd87'
но в процессах всеравно висит ((
KILL ничего не убивает, а просто помечает конкретное query, что его надо убить. А процесс query сам время от времени проверяет, не нужно ли ему завершиться.
источник

CO

Chern Oleksander in ClickHouse не тормозит
Artem
KILL ничего не убивает, а просто помечает конкретное query, что его надо убить. А процесс query сам время от времени проверяет, не нужно ли ему завершиться.
а как узнать, что они точно помечены ?
источник

DZ

Dmitry Zaytsev in ClickHouse не тормозит
Доброго времени суток. Может кто сталкивался с такой задачей: есть в клике список event. Надо найти 2 event (они должны быть рядом обязательно), взять разницу по 1 полю и в идеале еще и среднее подсчитать. Может есть какие функции в клике для такого? Пока заткнулся именно на поиске 2х событий рядом
источник

A

Artem in ClickHouse не тормозит
Chern Oleksander
а как узнать, что они точно помечены ?
show processlist вроде умеет это показывать, но это не точно
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Chern Oleksander
JSON
{
 "request_id": "2133743809",
 "roundnum": "1549390282",
 "wager_balance": {
   "amount": 0,
   "balance": 0
 },
 "max_payout": 9000,
 "sa": "",
 "game": {
   "id": 3465,
   "code": "GAME_NAME",
   "name": "GAME_NAME"
 }
}
JSONExtractKeysAndValuesRaw(j, 'game') x , (x.2)[indexOf(x.1,'id')] id, (x.2)[indexOf(x.1,'name')] name

┌─id───┬─name────────┐
│ 3465 │ "GAME_NAME" │
└──────┴─────────────┘
источник

CO

Chern Oleksander in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
JSONExtractKeysAndValuesRaw(j, 'game') x , (x.2)[indexOf(x.1,'id')] id, (x.2)[indexOf(x.1,'name')] name

┌─id───┬─name────────┐
│ 3465 │ "GAME_NAME" │
└──────┴─────────────┘
вот где я читал мануал и зачем
Спасибо
источник

CO

Chern Oleksander in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
JSONExtractKeysAndValuesRaw(j, 'game') x , (x.2)[indexOf(x.1,'id')] id, (x.2)[indexOf(x.1,'name')] name

┌─id───┬─name────────┐
│ 3465 │ "GAME_NAME" │
└──────┴─────────────┘
а с килл не подскажите?
источник