Size: a a a

ClickHouse не тормозит

2021 February 11

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Grisha Egorov
У меня тоже us, правда незалогинен
там переключалка вверху
источник

GE

Grisha Egorov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
там переключалка вверху
Да, и в панельке сразу видно праильную цену
источник

n🐈

nikoinlove 🐈 in ClickHouse не тормозит
можно прикинуться украинцем и не платить ндс
источник

DV

Dimov Vasiliy in ClickHouse не тормозит
Похоже это именно то что надо! Огромное спасибо!
источник

IS

Ivan S in ClickHouse не тормозит
Добрый день!
Подскажите пожалуйста, может ли Кликхаус генерить случайные числа из классических распределений: нормальное, пуассона, …?

В доке говорится только про равномерное распределение, но в коде вроде используется сторонняя библиотека, которая умеет и другие: https://clickhouse.tech/codebrowser/html_report/ClickHouse/contrib/abseil-cpp/absl/random/gaussian_distribution.h.html
источник

S

Slach in ClickHouse не тормозит
Ivan S
Добрый день!
Подскажите пожалуйста, может ли Кликхаус генерить случайные числа из классических распределений: нормальное, пуассона, …?

В доке говорится только про равномерное распределение, но в коде вроде используется сторонняя библиотека, которая умеет и другие: https://clickhouse.tech/codebrowser/html_report/ClickHouse/contrib/abseil-cpp/absl/random/gaussian_distribution.h.html
библиотека может умеет
но в SQL это не прокинуто
https://clickhouse.tech/docs/en/sql-reference/functions/random-functions/

fell free make pull request
источник

IS

Ivan S in ClickHouse не тормозит
Понял, спасибо
источник

YT

Yury Trostin in ClickHouse не тормозит
всем привет ! можно ли в КХ сделать вычисляемый столбец на основе значения в другом столбце ? что хочется: у меня есть odbc словарь, я хочу его отобразить в виде таблицы с помощью движка Dictionary. допустим в этом словаре есть ключ id UInt64, и значение value String. я хочу сделать так, чтобы в третьем столбце calculated_value UInt8 было значение if(value='some_value', 1, 0)
источник

M

Mishanya in ClickHouse не тормозит
Yury Trostin
всем привет ! можно ли в КХ сделать вычисляемый столбец на основе значения в другом столбце ? что хочется: у меня есть odbc словарь, я хочу его отобразить в виде таблицы с помощью движка Dictionary. допустим в этом словаре есть ключ id UInt64, и значение value String. я хочу сделать так, чтобы в третьем столбце calculated_value UInt8 было значение if(value='some_value', 1, 0)
select dictGet(‘dict', 'column’, tuple(your_column)) as your_value, if(your_value = 1, ‘true’, ‘false’) from table
источник

YT

Yury Trostin in ClickHouse не тормозит
Mishanya
select dictGet(‘dict', 'column’, tuple(your_column)) as your_value, if(your_value = 1, ‘true’, ‘false’) from table
это да, но здесь ты пользуешься dictGet, а я хочу словарь отобразить как таблицу, чтобы сразу из нее селектить и можно было посмотреть в случае чего все пары ключ-значение
источник

M

Mishanya in ClickHouse не тормозит
Yury Trostin
это да, но здесь ты пользуешься dictGet, а я хочу словарь отобразить как таблицу, чтобы сразу из нее селектить и можно было посмотреть в случае чего все пары ключ-значение
можете таблицу создать с Engine = Dictionary и делать select *
источник

YT

Yury Trostin in ClickHouse не тормозит
да
а можно ли в эту таблицу ещё как-то добавить вычисляемое поле по примеру выше ?
источник

M

Mishanya in ClickHouse не тормозит
Yury Trostin
да
а можно ли в эту таблицу ещё как-то добавить вычисляемое поле по примеру выше ?
ну вообще я не пробовал, но предполагаю что так, если я вас правильно понял

create table my_table_dict (col1 int, col2 str, col3 int) engine = Dictionary(dict_name)  
select *, if(col_1 = 1, ‘a’, ‘b’) as my_calc_value from my_table_dict
источник

YT

Yury Trostin in ClickHouse не тормозит
хочется не применять if на этапе селекта, а чтобы это поле было уже посчитано при селекте
источник

S

Slach in ClickHouse не тормозит
Yury Trostin
всем привет ! можно ли в КХ сделать вычисляемый столбец на основе значения в другом столбце ? что хочется: у меня есть odbc словарь, я хочу его отобразить в виде таблицы с помощью движка Dictionary. допустим в этом словаре есть ключ id UInt64, и значение value String. я хочу сделать так, чтобы в третьем столбце calculated_value UInt8 было значение if(value='some_value', 1, 0)
dictGet
в DEFAULT  выражение пропишите

но есть бага связаная с тем что clickhouse Не умеет словари грузить ДО того как загружает определение таблиц
поэтому при выведении типов во время startup может валиться
https://github.com/ClickHouse/ClickHouse/issues/13613
источник

M

Mishanya in ClickHouse не тормозит
А можно ли при описании словаря указать для поля не просто type, а какое-то выражение, типа parseDateTimeBestEffort ?
источник

S

Slach in ClickHouse не тормозит
Mishanya
А можно ли при описании словаря указать для поля не просто type, а какое-то выражение, типа parseDateTimeBestEffort ?
нет
а что мешает toDateTime( dictGetOrDefault() ) выполнить?
источник

M

Mishanya in ClickHouse не тормозит
Slach
нет
а что мешает toDateTime( dictGetOrDefault() ) выполнить?
не понимаю пока что вы имеете в виду)
источник

S

Slach in ClickHouse не тормозит
Mishanya
не понимаю пока что вы имеете в виду)
ну храните просто строку в словаре
LowCardinality(String)
потом вытаскивайте ее через dictGet в select
и делайте toDateTime( от строки)
источник

M

Mishanya in ClickHouse не тормозит
Slach
ну храните просто строку в словаре
LowCardinality(String)
потом вытаскивайте ее через dictGet в select
и делайте toDateTime( от строки)
да, я навреное так и сделаю. просто думал на этом инициализации скастить по возможности и иметь нужный тип
спасибо
источник