Size: a a a

ClickHouse не тормозит

2020 August 26

s

ssv in ClickHouse не тормозит
Или STRING_AGG
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
ssv
VAL1,  VAL2
шт. 11
шт. 12
шт. 13
шт. 14

А надо  получить в строчку шт. 11 шт. 12 шт. 13 шт. 14
select arrayStringConcat(groupArray( toString(a) || ' '||toString(b) ),' ')

from (

SELECT 'a' a, 1 b
UNION ALL
SELECT 'b', 2
)

a 1 b 2
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
select toString(groupArray( (a,b) ) ) from (
SELECT 'a' a, 1 b
UNION ALL
SELECT 'b', 2
)

┌─toString(groupArray(tuple(a, b)))─┐
│ [('a',1),('b',2)]                 │
└───────────────────────────────────┘
источник

s

ssv in ClickHouse не тормозит
Спасибо!)
источник

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
ломается все на то что нет CI тестов. Надо дописывать тесты с подьемом оракла в контейнере или с каким-то моком  select 1
ваша правда, тем более оракл экспресс эдишн появился и бесплатный...
https://www.oracle.com/database/technologies/appdev/xe.html

вот только у нас никто особо не в С... (
а падает непосредственно не сам селект, а запрос к драйверу, безотносительно к базе вроде
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Dj
ваша правда, тем более оракл экспресс эдишн появился и бесплатный...
https://www.oracle.com/database/technologies/appdev/xe.html

вот только у нас никто особо не в С... (
а падает непосредственно не сам селект, а запрос к драйверу, безотносительно к базе вроде
там не на С, там питон (там буквально все тесты из 10 строк) и sql
если сломался весь ODBC то это странно, через ODBC можно ходить в самого себя в  КХ
источник

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
там не на С, там питон (там буквально все тесты из 10 строк) и sql
если сломался весь ODBC то это странно, через ODBC можно ходить в самого себя в  КХ
весь ОДБС на месте.
вообще по стандарту в ОДБС нулл буферы разрешены и драйвер должен реализовывать, но не все это делают. Так что тут вина оракла/прослойки в виде unixodbc/pocoodbc.

а вообще запрос курл-ом через самостоятельно поднятый odbc-bridge работает ок...
зачем эта проверка на момент поддерки Схем, вообще немного неясный improvement
источник

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
там не на С, там питон (там буквально все тесты из 10 строк) и sql
если сломался весь ODBC то это странно, через ODBC можно ходить в самого себя в  КХ
т.е. тот же mssql odbc driver - нормально реагирует если ему нули скормить
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
ну да, такие импувменты все время стреляют

например мудрый человек решил окружать поля при запросах в кавычки, типа было select col , а теперь будем select "col" делать, отличная же идея, только другие люди в качестве имя поля использовали выражение: select somefunc(col)*356-1 , после улучшения все сломалось select "somefunc(col)*356-1"
источник

D

Dj in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
ну да, такие импувменты все время стреляют

например мудрый человек решил окружать поля при запросах в кавычки, типа было select col , а теперь будем select "col" делать, отличная же идея, только другие люди в качестве имя поля использовали выражение: select somefunc(col)*356-1 , после улучшения все сломалось select "somefunc(col)*356-1"
да, придется ждать фикса в одну строку (
а так хотелось ССД словари запользовать...
источник
2020 August 27

AP

Abi Palagashvili in ClickHouse не тормозит
скажите, а при использовании BalancedClickhouseDataSource из jdbc, коннектор выполнит service discovery?
Можно будет обращаться к разным нодам?
источник

AK

Andrii Kakoichenko in ClickHouse не тормозит
Есть ли в СН возможность эффективно выполнить запрос вида?

select *
from t
where a < [some datetime const]
order by a desc
limit 10

При условии, что в скрипте создания таблицы t прописано
Partition by toYYYYMMDD(a)
Order by a, b

Логика подсказывает, что должно мгновенно отрабатывать, ведь партиции и primary key однозначно говорят, где читать с диска, но, по факту, быстро не отрабатывает
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Abi Palagashvili
скажите, а при использовании BalancedClickhouseDataSource из jdbc, коннектор выполнит service discovery?
Можно будет обращаться к разным нодам?
так у КХ нет каталога, фактически нельзя узнать куда можно подключаться
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Andrii Kakoichenko
Есть ли в СН возможность эффективно выполнить запрос вида?

select *
from t
where a < [some datetime const]
order by a desc
limit 10

При условии, что в скрипте создания таблицы t прописано
Partition by toYYYYMMDD(a)
Order by a, b

Логика подсказывает, что должно мгновенно отрабатывать, ведь партиции и primary key однозначно говорят, где читать с диска, но, по факту, быстро не отрабатывает
версия КХ ?

да будет использована

--optimize_read_in_order arg                                     Enable ORDER BY optimization for reading data in corresponding order in MergeTree tables.
источник

AP

Abi Palagashvili in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
так у КХ нет каталога, фактически нельзя узнать куда можно подключаться
спасибо
источник

AK

Andrii Kakoichenko in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
версия КХ ?

да будет использована

--optimize_read_in_order arg                                     Enable ORDER BY optimization for reading data in corresponding order in MergeTree tables.
Спасибо
Прямо сейчас нет доступа к кластеру, но где-то месячной давности версия должна быть. Уточню.
Опцию optimize_read_in_order надо включать, или она по умолчанию?
источник

l

lnuynxa in ClickHouse не тормозит
Andrii Kakoichenko
Спасибо
Прямо сейчас нет доступа к кластеру, но где-то месячной давности версия должна быть. Уточню.
Опцию optimize_read_in_order надо включать, или она по умолчанию?
Включена by default
источник

l

lnuynxa in ClickHouse не тормозит
месячная давность, это очень новая версия :)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Andrii Kakoichenko
Спасибо
Прямо сейчас нет доступа к кластеру, но где-то месячной давности версия должна быть. Уточню.
Опцию optimize_read_in_order надо включать, или она по умолчанию?
включена

пример

create table order_test(a DateTime, b Int64, C String) Engine=MergeTree
Partition by toYYYYMMDD(a) Order by (a, b);

insert into order_test select toDateTime('2020-01-01 00:00:00') + (number % 97) * 3600*24, number, toString(number)
from numbers(100000000);

select * from order_test where a < '2020-01-02 00:00:00' order by a desc limit 3;
Processed 101.83 thousand rows,

set optimize_read_in_order=0
select * from order_test where a < '2020-01-02 00:00:00' order by a desc limit 3;
Processed 1.13 million rows,
источник

IV

Ilya Vishnevsky in ClickHouse не тормозит
Ребята, подскажите, индекс по timestamp филду имеет смысл делать? Или лучше транкейтить до дня, чтобы мощность множества уменьшить ?
источник