@clickhouse_ru

Страница 723 из 723
 
Kirill
26.10.2018
15:22:23
Все есть. Но кх ничего не делает.
optimize_throw_if_noop и попробуйте optimize запустить. Если не может он вывалится ошибкой почему

Google
Kirill
26.10.2018
15:26:18
Понятно

Shazo
26.10.2018
15:27:34
я не рекомендую выставлять данные значения, лишь как пример написание опций привел.

Egor
26.10.2018
15:43:35
select anyIf('yes', 1=1) yes вы неправильно понимаете anyif, у вас туда 1 ~ true константой передано
Спасибо. Но даже так работает странно, если у меня 7 проект в good_projects то должно быть 1 1 а если нет то 0 0

Denis
26.10.2018
15:47:29
что такое good_projects ?

Egor
26.10.2018
15:47:47
что такое good_projects ?
good_projects это внешние данные: 'good_projects_structure': 'id UInt32'

Denis
26.10.2018
15:47:49
вот это чистый бред: select * from ( select project_id, if(project_id IN (1,2,6), 1,0), anyIf(1, project_id in (1,2,6)) from (select project_id from (select number project_id from numbers(100)) order by rand64()) group by project_id order by project_id) where project_id in (1,2,6)

это массив или число или что?

Egor
26.10.2018
15:50:06
это массив или число или что?
https://clickhouse.yandex/docs/ru/operations/table_engines/external_data/

Denis
26.10.2018
15:53:00
и что показывает select 7 in good_projects

Denis
26.10.2018
15:55:27
anyIf тут бессмысленная конструкция которая ничего не дает

Egor
26.10.2018
15:56:14
anyIf тут бессмысленная конструкция которая ничего не дает
Проблема в том что IN в моем случае работает по разному. Вы не находите? anyIf тут не причем. Он приведен для примера

Google
Denis
26.10.2018
15:57:16
нет, не нахожу. попробуйте добавить в конце запроса settings enable_optimize_predicate_expression = 0;

и что показывает select 7 in good_projects

# echo -ne "1\n2\n6\n" | clickhouse-client --query="select * from (select project_id, if(project_id IN _data, 1,0) from (select project_id from (select number project_id from numbers(100)) order by rand64()) group by project_id order by project_id) where project_id in _data" --external --file=- --types=UInt64 1 1 2 1 6 1

Daniel
26.10.2018
18:20:31
optimize_throw_if_noop и попробуйте optimize запустить. Если не может он вывалится ошибкой почему
взял на вооружение... но сейчас, на удивление, количество партов уменьшилось после рестарта

hamper ?
26.10.2018
20:53:49
А в каких случаях это вообще бывает? Я кроме куска кода нагуглить ничего не смог https://github.com/yandex/ClickHouse/blob/master/dbms/src/Storages/MergeTree/DiskSpaceMonitor.h#L103

Denis
26.10.2018
21:20:20
Много причин. Может слишком мелкие вставки, может слишком много вставок, может тупит диск, может тупит диск у лидера.

sha-bang
26.10.2018
22:10:30
Привет, Не подскажете как правильно создать Merge таблицу из уже существующей обычной таблицы? Я делаю так: DROP TABLE IF EXISTS table_merge; CREATE TABLE table_merge as table_v2 Engine=Merge(database_name, '^table_v2$'); Но ничего не выходит: :) select count(*) from table_merge; SELECT count(*) FROM table_merge ┌─count()─┐ │ 0 │ └─────────┘

Michael
26.10.2018
22:18:18
Может, создать таблицу и испортировать в неë данные из старой? (Insert + select)

sha-bang
26.10.2018
22:24:40
ммм… можно попробовать, но в доке вот именно такой вариант описывается и хотелось бы его попробовать. Интересно, просто даже самому понять почему эта конструкция не работает.

Michael
26.10.2018
23:03:42
Populate ещë было ключевое слово. По крайней мере для мат.вью

Denis
26.10.2018
23:53:31
Привет, Не подскажете как правильно создать Merge таблицу из уже существующей обычной таблицы? Я делаю так: DROP TABLE IF EXISTS table_merge; CREATE TABLE table_merge as table_v2 Engine=Merge(database_name, '^table_v2$'); Но ничего не выходит: :) select count(*) from table_merge; SELECT count(*) FROM table_merge ┌─count()─┐ │ 0 │ └─────────┘
а что с SELECT count(*) FROM database_name.table_v2 это бессмысленная регуляка '^table_v2$', под нее подходит только одна таблица, мерж накрывает пачку таблиц с похожими именами table_v2_1 table_v2_2 table_v2_nnnnn пример тут https://clickhouse.yandex/docs/en/operations/table_engines/merge/

Populate ещë было ключевое слово. По крайней мере для мат.вью
мерж движок позволяет делать как бы union all , ему не нужен populate типа есть таблицы table_январь table_февраль .... merge позволяет делать from table и запрос выполнится ко всем сразу или была таблица table1 partition by X order by Y и вы решили начать новую жизнь как partition by X1 order by Y1 мерж позволяет накрыть обе таблицы старую и новую для select -в.

Ivan
27.10.2018
05:37:44
Кто нибудь использовал clickhouse copier util в продакшене?

Поддерживает ли шардинг по ключу?

Timur
27.10.2018
06:52:31
Так вроде в распределенной таблице при создании он указывается? В доках пример с рандом распределением правда.

Alexander
27.10.2018
08:49:14
Пробую на macos 10.14 запустить КХ через Docker. Сервер стартует нормально, а клиент вылетает по ошибке: docker run -it --rm --link some-clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"--host\": executable file not found in $PATH": unknown. Может быть кто-то сталкивался?

Alexander
27.10.2018
09:12:14
@Lamobot спасибо! Нужно поправить документацию тут https://hub.docker.com/r/yandex/clickhouse-server/

Lamobot
27.10.2018
09:14:08
@Lamobot спасибо! Нужно поправить документацию тут https://hub.docker.com/r/yandex/clickhouse-server/
Лучше яндексу исправить образ клиента :) В документации более правильный подход описан.

Иван
27.10.2018
09:31:06
Привет, подскажите как проапдаитить енум, пробую так: alter table t update c = CAST('a', 'Enum16(\'a\' = 0, \'b\' = 1, \'c\' = 2)') where id = 123 получаю ошибку: Illegal columns Const(Int16) and Int16 of second (then) and third (else) arguments of function if ни 0 ни 'а' тоже не работают

Google
Alexander
27.10.2018
09:31:10
@Lamobot Очень выручили!

Oleg
27.10.2018
20:27:09
Добрый вечер! Не подскажите есть где-то описание, что нужно делать если 1 севрер с репликой умер. Только пути поудалять в zookeeper?

Michael
27.10.2018
20:29:34
Удалить пути в зукипере к таблицам на нëм; поднять сервер и инициализировать структуру таблиц. Репликация данных с оставшейся в живых ноды произойдëт автоматически

Oleg
27.10.2018
20:34:20
спасибо

Ivan
27.10.2018
21:36:54
добрый вечер - подскажите пжлст хочу собрать кликхаус для базы на 10тб на hp bladecenter c7000. смысл в том что там диски для бд уходят в дисковую полку(минилезвие с 12-ю винчестерами) на сколько критично это скажется на производительности относительно системы у которой диски подключены внутрь серверов по сата/pci-e

Vyacheslav
27.10.2018
22:18:12
кмк не очень хорошо, там еще и диски окажутся скорее всего тормознутыми

Ivan
27.10.2018
22:21:38
диски ссд от самсунга

вот полка : https://www.hpe.com/ru/ru/product-catalog/storage/disk-enclosures/pip.hpe-d2220sb-build-to-order-storage-blade.5357563.html

сорян за ссылку

Alexey
28.10.2018
00:02:54
добрый день, пытаюсь разобраться с конверсий тайм зон и не понимаю результат

┌─toStartOfHour(toDateTime(toUnixTimestamp('2018-01-01 00:15:16', 'UTC'), 'Etc/GMT+0'))─┐ │ 2018-01-01 00:00:00 │ └───────────────────────────────────────────────────────────────────────────────────────┘

┌─toStartOfHour(toDateTime(toUnixTimestamp('2018-01-01 00:15:16', 'UTC'), 'Etc/GMT-7'))─┐ │ 2018-01-01 07:00:00 │ └───────────────────────────────────────────────────────────────────────────────────────┘

я думал что в зоне -7 это будет еще 31-е число, а КХ говорит что это уже новый год наступил

Aliaksei
28.10.2018
00:22:27
так же себя ведет и zdump

zdump 'Etc/GMT' Etc/GMT Sun Oct 28 00:21:34 2018 GMT

zdump 'Etc/GMT-7' Etc/GMT-7 Sun Oct 28 07:21:44 2018 +07

Alexey
28.10.2018
00:28:59
то есть мне просто надо инверить

Admin


Aliaksei
28.10.2018
00:29:28
да так требует стандарт http://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html

The offset specifies the time value you must add to the local time to get a Coordinated Universal Time value.

Google
Oleg
28.10.2018
07:25:24
Доброе утро! ) а сейчас как-то возможно поставить 1.1.54327? А то старые репы перестали работать.

версии новее не могут с этой реплику качать

Wolf
28.10.2018
07:27:00
ну если у вас где то используется он то есть бинарник он легко мигрирует тупым копированием

Oleg
28.10.2018
07:27:10
о, спс

Wolf
28.10.2018
07:27:50
кх состоит из одного бинарника а все клиенты и и серверы это симлинки на него иногда с ключами, так что основной бинарниу надо только таскать с собой

Ivan
28.10.2018
09:09:54
Добрый день,

Вопрос к знатокам джоинов ?

CREATE TABLE events( time_stamp DateTime, customer_id String DEFAULT ' ', user_id String DEFAULT '', type Enum8( 'load' = 0, 'session' = 8 ), refferer String DEFAULT '' ) ENGINE = MergeTree() PARTITION BY (toDate(time_stamp), type) ORDER BY (customer_id, user_id) SETTINGS index_granularity = 8192

есть такая табличка

с двумя типами событий load и session

для каждого user_id происходит load, а потом много сессий

и так может повторятся до бесконечности

могут быть миллионы сессий для одного load

надо получить даты load + поле refferer (оно заполнено только у них) + количество сессий относящихся к этому load

то есть надо свернуть все по customer_id, user_id, по time_stamp из load, и к этому делу заджоинить sessions

можно было бы использовать range_hashed справочники для load

но их сильно много тоже

не влезут

а так получается надо сделать джоин по id + date range

Google
undiabler
28.10.2018
09:18:47
select * from ( select ... from ... where type = 8 group by customer_id ) any left join ( select ... from ... where type = 0 ) using customer_id

Ivan
28.10.2018
09:23:02
При очень большом количестве запросов - этот джоин будеть очень долго поднимать все в память

хорошо бы если можно было б его засунуть в mat view

но что то не заработало

Страница 723 из 723