@clickhouse_ru

Страница 563 из 723
Jen
20.06.2018
10:16:41
чтение+запись же

Дима
20.06.2018
10:16:50
В диск упирается? Как-то медленно чтение 259.07 MB/s
NVME диски на i3 инстансе, есть запас

Jen
20.06.2018
10:17:24
не проще ли будет партиции скопировать?

Google
Jen
20.06.2018
10:17:34
чем select'ом вставлять

и приатачить их к другой таблице потом

Alexey
20.06.2018
10:18:22
да, так быстрее всегда, селектом проще =)

Дима
20.06.2018
10:18:41
Есть токсичные данные в партициях, приходится фильтровать в селекте малость

Kirill
20.06.2018
10:19:35
Не от хорошей жизни решили перекидывать ?

Но фильтрация по партиции и первичному ключу ?

Алексей
20.06.2018
10:30:28
@proller а есть какой то способ узнать версию сервера в докерном имидже помеченом latest ?

в целом я хочу утащить к себе к приватный регистри и потегировать версией.

prll
20.06.2018
10:46:22
запущенном или нет?

Алексей
20.06.2018
10:46:42
на незапущенном

$ clickhouse-server -v Unknown option specified: v $ clickhouse-server --version Unknown option specified: version

Дмитрий
20.06.2018
11:10:36
Ктонибудь сталкивался с таким? Я выполняю инсерт в distributed таблицу, то данные в таблицах и репликах верные, а во view которые к ним на шарде не плюсуются. Если же я выполню инсерт на прямую в таблицу на шарде, то вьюха отрабатывает, но только та которая находится на нем же, а та которая на реплике не отрабатывает. Как буд-то ттригеры "2 уровня" не отрабатывают. Можно это как-то зафиксить, настройкой какой-то или мой вариант только инсертить в шарды?

Алексей
20.06.2018
11:11:57
коллеги, добрый день! я правильно понимаю, что функция assumeNotNull эквивалентна ifNull в который подставляется дефолтное значение для соотв. типа данных?

Google
Alexey
20.06.2018
11:14:12
с Distributed то же самое кажется, если вьюха будет реплицированная, то куда бы не отправил Distributed данные, они вставятся в местную вьюху, а в другие приедут по репликации

да, так и есть, у меня есть такая схема - демон инсертит в Distributed, и есть реплицированные вьюхи, смотрящие на локальные таблицы

+ Distributed-таблица для вьюхи

чтобы селектить

т.е. условно, есть Distr - Shows, есть локальные Shows_local, создаем реплицированные вьюхи ShowsAggr_local, смотрящие на Shows_local

и ShowsAggr distr-таблица, смотрящая в ShowsAggr_local

Alexey
20.06.2018
11:19:57
при такой схеме, все реплики равнозначны, можно писать в Shows в любую, и везде приедут данные

Дмитрий
20.06.2018
11:20:48
и ShowsAggr distr-таблица, смотрящая в ShowsAggr_local
а можно пример создания view? CREATE MATERIALIZED VIEW hits_view ENGINE = ReplicatedMergeTree( event_date, (event_date), 8192 ) какие будут первые 2 параметра для ReplicatedMergeTree?

Alexey
20.06.2018
11:22:27
а можно пример создания view? CREATE MATERIALIZED VIEW hits_view ENGINE = ReplicatedMergeTree( event_date, (event_date), 8192 ) какие будут первые 2 параметра для ReplicatedMergeTree?
да точно также, как и для таблиц, например ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/StatsDirect_local', '{replica}', day, (pad_url, stat_id, yadirect_cid, day), 8192)

как для Replicated-таблиц делаете, так и для вьюх, только название свое и все

Vlad
20.06.2018
11:40:15
Всем привет! А почему для MergeTree столбец именно тип Date должен быть? Если я DateTime укажу, то работать же будет... С точки зрения производительности/корректность есть обоснования?

Николай
20.06.2018
11:59:52
Как удалить внешний словарь из кликхаус? Удаляю конфиг словаря, рестартую кликхаус - он перестает запускаться вообще

Wolf
20.06.2018
12:02:10
посмотрите логи

Николай
20.06.2018
12:06:24
посмотрите логи
Посмотрел, удалил sql файл из /var/lib/... помогло, спасибо)

Рулон
20.06.2018
12:07:11
Салют! Есть поле с типом стринг 0.54 хочу сделать int

Illegal types String and UInt16 of arguments of function multiply.

Google
Konstantin
20.06.2018
12:09:05
Рулон
20.06.2018
12:10:50
0.54 это же float
С float плохо работать надо к int привести а для этого строку надо умножить на 100

Vladimir
20.06.2018
12:14:38
Господа, а можно как-то выбрать данные из заданной партиции?

Vladimir
20.06.2018
12:17:53
У меня в system.parts вот такая инфа: ┌─partition─┬─name──────────────────┬───min_date─┬───max_date─┬──────rows─┬─active─┐ │ 201805 │ 201805_88_175_4 │ 0000-00-00 │ 0000-00-00 │ 2621187 │ 1 │ │ 201805 │ 201805_176_231_3 │ 0000-00-00 │ 0000-00-00 │ 3175736 │ 1 │ │ 201805 │ 201805_232_510_3 │ 0000-00-00 │ 0000-00-00 │ 9017253 │ 1 │

Alexey
20.06.2018
12:18:11
Господа, а можно как-то выбрать данные из заданной партиции?
я знаю что можно поселектить из куска: select * from table where _part = 'name', может можно также из партиции

Рулон
20.06.2018
12:18:42
Vladimir
20.06.2018
12:19:55
SELECT min(event_datetime), max(event_datetime) FROM logs WHERE _part = '201806_81310_81310_0' ┌─min(event_datetime)─┬─max(event_datetime)─┐ │ 0000-00-00 00:00:00 │ 0000-00-00 00:00:00 │ └─────────────────────┴─────────────────────┘

что-то ерунда какая-то.

А не, не ерунда. Другие партиции корректно показывает.

select min(event_datetime), max(event_datetime) from logs where _part='201806_54051_79706_25'; SELECT min(event_datetime), max(event_datetime) FROM logs WHERE _part = '201806_54051_79706_25' ┌─min(event_datetime)─┬─max(event_datetime)─┐ │ 2018-06-18 17:36:01 │ 2018-06-20 13:32:21 │ └─────────────────────┴─────────────────────┘

Alexey
20.06.2018
12:21:04
у вас партиции делятся по дате, а не по event_datetime

значит в этом куске нулевые event_datetime

Konstantin
20.06.2018
12:30:47
Есть два кластера, в двух локациях. В каждой локации по ZK. Кластеры друг друга видят. При попытке выполнить create table XXX on cluster YYY … ReplicatedMergeTree… (из одного кластера в другой кластер) запрос просто подвисает. Как я понимаю проблема в том, что на хостах в локациях прописаны разные ZK. Это как то можно обойти или может это вообще баг?

Vladimir
20.06.2018
12:32:04
А сейчас что не так? alter table logs drop partition '201806_80056_81079_7'; ALTER TABLE logs DROP PARTITION '201806_80056_81079_7' Received exception from server (version 1.1.54385): Code: 53. DB::Exception: Received from localhost:50003, 127.0.0.1. DB::Exception: Type mismatch in IN or VALUES section. Expected: UInt32. Got: String.

Alexey
20.06.2018
12:32:57
201806_80056_81079_7 - это не партиция

это кусок, part

партиция это 201806

Vladimir
20.06.2018
12:33:37
а part дропнуть можно?

Google
Alexey
20.06.2018
12:34:07
кусок дропнуть нельзя командой, надо сделать detach partition 201806, потом сходить в папку detached этой таблицы, удалить с диска этот кусок 201806_80056_81079_7, и потом attach partition 201806

это все применимо, если у вас стандартное партиционирование по месяцу

а ну да, так и есть

Vladimir
20.06.2018
12:35:32
Вообще, хотелось бы иметь возможность дропать куски.

Из таблицы нужно удалить задублированный файл, а всю партицию пересоздавать не айс.

Alexey
20.06.2018
12:36:56
не сделали такую фичу наверняка из-за фонового слияния кусков, видимо какие-то противопоказания есть

Vladimir
20.06.2018
12:38:12
Ну можно было сделать что-нибудь типа lock/freeze прежде чем давать возможность удалять кусок.

Какие ещё есть варианты удаления данных по критерию кроме как пересоздание партиций?

Alexey
20.06.2018
12:41:16
никаких, но говорят, скоро будет DELETE

Konstantin
20.06.2018
12:41:43
к концу мая обещали

Alexey
20.06.2018
12:42:39
Какие ещё есть варианты удаления данных по критерию кроме как пересоздание партиций?
если партиция небольшая, можно создать рядом таблицу, заинсертить туда только "правильные данные", потом дропнуть партицию, и перелить обратно

Vladimir
20.06.2018
12:43:34
С этим я уже определился.

Николай
20.06.2018
12:51:06
Подскажите, у меня есть внешний словарь к postgres(postgis), мне надо делать geo-запрос St_within. Это как-то можно сделать в КХ?

Denis
20.06.2018
12:53:04
Если индекс (А, В, С), а селект по условиям на А и С, для поиска по С индекс будет использован?
Будет. Имхо таблица отсортирована по a,b,c, разбита на куски и примерно известно в каких кусках есть эти значения a,b,c. create table test(a Int64, b Int64, c Int64, d String) engine=MergeTree partition by tuple() order by (a,b,c); insert into test select 1, 0, number, toString(number) from numbers(1000000); insert into test select 2, 2, number, toString(number) from numbers(100); insert into test select 3, 3, number, toString(number) from numbers(1000000); select count() from test where a=2 and c=1; 1 rows in set. Elapsed: 0.002 sec. select count() from test prewhere a=3 and c=1; 1 rows in set. Elapsed: 0.002 sec. Processed 9.44 thousand rows, 151.10 KB (5.03 million rows/s., 80.44 MB/s.) select count() from test where a=3; 1 rows in set. Elapsed: 0.003 sec. Processed 1.00 million rows, 8.01 MB (378.03 million rows/s., 3.02 GB/s.) меняем размер куска: SETTINGS index_granularity = 1024; select count() from test prewhere a=3 and c=1; 1 rows in set. Elapsed: 0.002 sec. Processed 2.28 thousand rows, 36.42 KB (1.15 million rows/s., 18.43 MB/s.) и что интересно, можно обратиться к последнему полю select count() from test prewhere c=1; 1 rows in set. Elapsed: 0.009 sec. Processed 3.30 thousand rows, 26.40 KB (352.25 thousand rows/s., 2.82 MB/s.)

Дмитрий
20.06.2018
13:04:23
да точно также, как и для таблиц, например ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/StatsDirect_local', '{replica}', day, (pad_url, stat_id, yadirect_cid, day), 8192)
Спасибо большое еще раз, проблема с вьюхами решена, однако во воремя проверок, делая инсерты в дистрибьютед таблицу, получается так что срабатывают они 50/50. выполняю инсерт через clickhouse client, не сталкивались с таким?

Kirill
20.06.2018
13:05:02
Да, проще скинуть всё в detached новой таблицы, приатачить, дропнуть сломанную партицию и докачать её правильно

не проще ли будет партиции скопировать?

и приатачить их к другой таблице потом

Alexey
20.06.2018
13:08:17
Спасибо большое еще раз, проблема с вьюхами решена, однако во воремя проверок, делая инсерты в дистрибьютед таблицу, получается так что срабатывают они 50/50. выполняю инсерт через clickhouse client, не сталкивались с таким?
у меня 4 шарда, по 2 реплики. Я создал вьюхи на всех 8 серверах. Соответственно, Distr- таблица смотрит на 4 шарда. Вставляю в нее - на какую реплику прилетают данные, там же вставляются данные во вьюхи. На остальные прилетает по репликации. 50/50 не было такого.

Google
Alexey
20.06.2018
13:10:14
У меня тоже самое, реплики мастер мастер, может поэтому?
так они у всех мастер мастер, можно в любую реплику писать

?
20.06.2018
13:49:10


Aleksey
20.06.2018
14:29:55
Привет. А кто-нибудь знает, как в RowBinary хранится Float64? :)

https://clickhouse.yandex/docs/en/formats/rowbinary/ тут нет примера

Konstantin
20.06.2018
14:36:02
Aleksey
20.06.2018
14:37:23
да КХ даже на 0 ругается)

не говоря уже о более содержательных значениях

Code: 33, e.displayText() = DB::Exception: Cannot read all data, e.what() = DB::Exception

Konstantin
20.06.2018
14:40:15
ну сделайте импорт из КХ в файл и сравните

Aleksey
20.06.2018
14:41:23
А, был не прав. Все сошлось. Вот стоил задать вопрос)

Konstantin
20.06.2018
14:41:58
А, был не прав. Все сошлось. Вот стоил задать вопрос)
Володя Мюге уже постил в одном из чатиков сегодня https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%83%D1%82%D1%91%D0%BD%D0%BA%D0%B0

LeiDruid
20.06.2018
14:42:55
Товарищи, а ЧЯНДТ? Делаю табличку ) ENGINE = ReplicatedReplacingMergeTree( '/clickhouse/tables/tbl_201806', 'srv-133', EVENT_DATE_INDEX, (VEHICLE_ID, EVENT_DATE), 8192 ) На другом сервере: ) ENGINE = ReplicatedReplacingMergeTree( '/clickhouse/tables/tbl_201806', 'srv-142', EVENT_DATE_INDEX, (VEHICLE_ID, EVENT_DATE), 8192 ) Получаю Duplicate interserver IO endpoint: DataPartsExchange:/clickhouse/tables/tbl_201806/replicas/srv-142 Пробовал несколько раз. ЗК чистил.

Aleksey
20.06.2018
14:43:21
Да-да, очень полезная на практике методика разработки. Не получается долго решить проблему - напиши ее в публичном чате (и даже не надо читать ответы).

prll
20.06.2018
16:10:16
$ clickhouse-server -v Unknown option specified: v $ clickhouse-server --version Unknown option specified: version
может быть через клиент? # clickhouse-client ClickHouse client version 1.1.54386. Connecting to localhost:9000 as user default. Code: 210. DB::NetException: Connection refused: (localhost:9000, ::1)

Алексей
20.06.2018
16:11:56
там толькло clickhouse clickhouse-clang clickhouse-copier clickhouse-lld clickhouse-report clickhouse-server

Tima
20.06.2018
16:14:38
Попробуйте clickhouse client -v

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