
Denis
26.10.2018
15:13:05

Kirill
26.10.2018
15:22:23

Shazo
26.10.2018
15:25:48

Google

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

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

Egor
26.10.2018
15:43:35

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

Egor
26.10.2018
15:47:47

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

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

Egor
26.10.2018
15:54:41
вот это чистый бред:
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)
почему бред. В вашем запросе все ок:
│ 1 │ 1 │ 1 │
│ 2 │ 1 │ 1 │
│ 6 │ 1 │ 1 │

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

Egor
26.10.2018
15:56:14

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

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
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.
Может быть кто-то сталкивался?

Lamobot
27.10.2018
09:03:40

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

Lamobot
27.10.2018
09:14:08

Иван
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
то есть мне просто надо инверить

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.

Denis
28.10.2018
03:51:37

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


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

Google

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