@clickhouse_ru

Страница 546 из 723
Гаврилов
31.05.2018
16:27:16
просто я делать начну не раньше чем через 2 недели, а ответ как нужно дать завтра

Александр
31.05.2018
16:28:32
Можете хранить в файле этот справочник и отправлять в каждом запросе на сервер и использовать как внешнюю таблицу

Я только не знаю odbc умеет так или нет

Гаврилов
31.05.2018
16:29:05
odbc сможет весь справочник разом обновить

Google
Гаврилов
31.05.2018
16:29:07
с этим проблем нету

вопрос в том, не просядет ли кх в несколько раз по скорости

из-за такого условия

Александр
31.05.2018
16:31:28
Не должен

Ruslan
31.05.2018
16:33:35
А можно заставить кх пересчитать materialized view?

Ruslan
31.05.2018
16:41:26
Так он только на insert-ах заполняется же?

Dmitrii
31.05.2018
16:41:55
update и delete нету

умные люди, подскажите плз есть данные типа INSERT INTO data (date, status) VALUES ('2018-05-30 20:00:00',0), ('2018-05-30 20:00:01',1), ('2018-05-30 20:00:02',1), ('2018-05-30 20:00:03',1), ('2018-05-30 20:00:04',0), ('2018-05-30 20:00:05',1), ('2018-05-30 20:00:06',1), ('2018-05-30 20:00:07',0); как написать запрос, чтобы получить такой результат start end '2018-05-30 20:00:01' '2018-05-30 20:00:03' '2018-05-30 20:00:05' '2018-05-30 20:00:06'

nikita
31.05.2018
17:19:06
есть аналог постгресовского crosstab? или, проще говоря, можно из col1 col2 A 1 A 2 A 3 B 4 B 5 получить A [1, 2, 3] B [4, 5]

papa
31.05.2018
17:19:35
groupArray(col2)

nikita
31.05.2018
17:20:21
спасибо!

и похоже даже правильно работает, когда несколько groupArray() через запятую ?

Google
Alexsey
31.05.2018
18:13:14
в телеграмме нет канала по катбусту?

Andrey
31.05.2018
19:44:34
Всем привет. Подскажите, как правильно, такой формат json-а, прочитать из kafka в ch? { "fields":{ "io_time":1006243162, "iops_in_progress":0, "read_bytes":16906488226816, "read_time":1058573582, "reads":316820249, "weighted_io_time":1092184011, "write_bytes":953338485760, "write_time":33978049, "writes":209932870 }, "name":"diskio", "tags":{ "host":"db13.osmp.ru", "name":"sdp" }, "timestamp":1527778680 }

Kirill
01.06.2018
04:45:03
у нас подобное нормально работает, но пришлось лезть в конфиг и увеличивать max_ast_elements
Вот в этом месте очень не хватает подготовленных выражений, так как значения не должны быть частью запроса, как минимум это защита от инъекций, как максимум раздолье для кэширования планов запроса (их в КХ, пока нет, но, так или иначе, я надеюсь, будут).

Рулон
01.06.2018
06:14:35
Коллеги, подскажите пожалуйста как исправить такую ошибку? Skipping the limits on severity of changes to data parts and columns (flag force_restore_data)

Нашел решение sudo -u clickhouse touch /var/lib/clickhouse/flags/force_restore_data

А можно как то отключить данную "фичу"?

Александр
01.06.2018
06:19:39
Удалить этот флаг

И рестартнуть сервер

Александр
01.06.2018
06:26:52
еще актуально
Не совсем понятно, что должно быть в end

Там в кавычках данные только для start колонки видно

Остальное потерялось

Dmitrii
01.06.2018
06:27:26
последняя точка с со статусом=1

ну в принципе можно редуцировать задачу до группировки по первым точкам со статус =1

т.о. нужна только колонка start

Александр
01.06.2018
06:31:57
А строка с 02 на конце пропущена специально? Я так понял нужно из этих строк выбрать по две строкис открывающим и закрывающим статусом в виде 1, если строка просто одна и статус 1, то тоже выбирать?

Это однозначно нужна функция runningDifference и смотреть дельту по статусу

Dmitrii
01.06.2018
06:34:11
да, специально, нужны только строки с первым появлением 1 после нуля

Это однозначно нужна функция runningDifference и смотреть дельту по статусу
да, так можно отфильтровать нужные строки. а как бы еще их сгруппировать с последующими строками содержащими 1

Рулон
01.06.2018
06:38:01
И рестартнуть сервер
на всех машинах?

Google
Александр
01.06.2018
06:38:30
на всех машинах?
Нет, только на той на которой был создан этот файлик

Рулон
01.06.2018
06:41:32
Большое спасибо

Александр
01.06.2018
06:41:48
да, так можно отфильтровать нужные строки. а как бы еще их сгруппировать с последующими строками содержащими 1
Ну например через if можно сделать доп. маркер типа брать или нет, если дельта положительная, а сверху запросом уже забрать то, что нужно

Доберусь до компьютера, попробую запрос сделать

Yuran
01.06.2018
06:47:29
В английском варианте документации varSamp и varPop не отличаются и описывают одинаковую формулу Σ((x - x̅)^2) / (n - 1), где n - размер выборки, x̅- среднее зн . В русском варианте для varPop другой вариант: Σ((x - x̅)^2) / n

Кажется, что в английской доке ошибка.

Igor
01.06.2018
07:47:10
Подскажите в кликхаусе есть функция для преобразования временных интервалов в формате rfc 3339, вида 'PT1M24S'? Пока на ум приходит только парсить рекэкспами.

Oleg
01.06.2018
08:03:32
Привет, не подскажете, как быть: сделал давно ALTER COLUMN Int8->Int32 на ReplicatedMergeTree, INSERT-ы (из временной таблицы такой же структуры) шли всегда в одну реплику, сейчас попробовал сделать во вторую - пишет "Type mismatch for column event__is_in_campaign_control_group. Column has type UInt8, got type Int32". SHOW CREATE TABLE, DESCRIBE показывают везде Int32, Int8 вообще нигде нет. Для проверки создал новую таблицу точной такой же структуры, в ней INSERT работает. Т.е. каким-то странным образом реплика сломана для INSERT-ов, хотя репликация (таких же INSERT-ов с другой реплики) прекрасно работает.

DETACH/ATTACH TABLE тоже пробовал, не помогло

Вопрос снят. Нашёл на той реплике давно забытую view-шку со старой структурой. Она и блочила INSERT.

Артемий
01.06.2018
08:45:50
Всем привет!

Как через http клиент указать timezone?

Vladimir
01.06.2018
08:56:03
Как через http клиент указать timezone?
> Также в параметрах URL вы можете указать любые настроки, которые будут использованы для обработки одного запроса, или целые профили настроек. Пример: http://localhost:8123/?profile=web&max_rows_to_read=1000000000&query=SELECT+1

Vladimir
01.06.2018
09:03:26
Как называется настройка для указагния timezone?
https://clickhouse.yandex/docs/ru/operations/server_settings/settings/#timezone

Артемий
01.06.2018
09:05:47
https://clickhouse.yandex/docs/ru/operations/server_settings/settings/#timezone
Так это не работает, серверные настройки в запросе менять нельзя

Dmitrii
01.06.2018
09:16:45
Доберусь до компьютера, попробую запрос сделать
У меня пока получилось только выделить строки с началом (там где изменился state) select date, if(sch=1,date,0) start, runningDifference(status) sch from data если бы можно было, вместо нуля в колонке start заполнить только стартовыми значениями, то задачу можно считать решенной

Nikita
01.06.2018
09:17:19
А может кто-то подскажет, как можно синхронизировать две базы данных в разных инстансах проще всего? Без репликации

Alex
01.06.2018
09:22:35
Коллеги! Подскажите пожалуйста. Есть таблица с покупками: order_id, user_id, country_id, campaign_id и тд. Нужно сделать выборку чтоб посчитать первые продажи, вторые, третьи и тд. То есть результат должен получится примерно такой: campaign_id | first | second | third 1 | 20 | 8 | 2 2 | 40 | 10 | 4 Ломаю голову как запрос делать... пробовал SELECT CASE ... as first, CASE ... as second и другие варианты

Google
Nikita
01.06.2018
09:28:32
insert select * from remote(...) ?
Там большая таблица в сотни гигабайт. Он осилит такое?

Alexey
01.06.2018
09:31:35
Там большая таблица в сотни гигабайт. Он осилит такое?
тогда хз, все зависит от таблиц. очень расплывчатое тз

Nikita
01.06.2018
09:32:17
тогда хз, все зависит от таблиц. очень расплывчатое тз
Надо синхронизировать данные в двух таблицах на разных кликхаусах

Alexey
01.06.2018
09:33:20
Nikita
01.06.2018
09:33:27
Часть данных уже есть во второй базе

Alexey
01.06.2018
09:35:30
https://clickhouse.yandex/docs/ru/single/#_44 FREEZE PARTITION

копируете данные в другой кликхаус и там attach

я бы этим способом лучше делал, он по мне проще и надежнее, чем insert select * from remote(...)

Рулон
01.06.2018
09:52:11
Опять споткнулся: задача обеспечить 20 000 записей в секунду. Кто то можно это обеспечить или всякие сборщики батчей писать? по железу ограничены 128 гб оперативке

Wolf
01.06.2018
09:53:01
а в чем проблема вставляйте в секунду одним блоком 20к записей это ок

Рулон
01.06.2018
09:54:34
А блок можно сделать на уровне бд или на уровне шины?

Wolf
01.06.2018
09:54:48
какой бд и какой шины ?

собирайте блок в приложении или же используйте кафку как в доке написано, либо как вариант таблица с типом buffer в нее писать и потом из нее в репликейтедмерджтри

Гаврилов
01.06.2018
09:55:58
кафку)

Рулон
01.06.2018
10:00:28
Буфер не очень вариант ) . Из-за произвольного изменения порядка строк и размеров блоков данных, перестаёт работать дедупликация данных, в результате чего исчезает возможность надёжной exactly once записи в реплицируемые таблицы. В связи с этими недостатками, таблицы типа Buffer можно рекомендовать к применению лишь в очень редких случаях.

Wolf
01.06.2018
10:03:44
Что то я не помню дедупдикациии в кх

Mike
01.06.2018
10:06:51
ReplacingMergeTree

Andrey
01.06.2018
10:09:35
Добрый день! Есть вопрос по организации кластера, а конкретно как будет происходить выборка при select’e: если взять схему с 3-мя шардами где каждый шард на отдельной машине, а их реплики живут на одной другой. Будет ли учавствовать в этом сервер реплики?

Wolf
01.06.2018
10:16:29
все будут участвовать

Google
Wolf
01.06.2018
10:16:44
если провишите в настройках шардов для дистрибьютед таблицы

Alex
01.06.2018
10:21:54
Приветствую! Есть проблема, при исполнении SELECT INSERT из Distributed -> ReplicatedMergeTree, через JDBC часть данных не вставляется. При выполнении просто SELECT на этом же хосте через native клиент, данные отдаются. Грешу на дедупликацию встроенную, в связи с чем вопрос - какие параметры клиента HTTP-протокола могут входить в хеш дедупликации, чтобы их сдёрнуть. P.s. что характерно, проблема такая возникает только первого числа каждого месяца

Andrey
01.06.2018
10:24:29
если провишите в настройках шардов для дистрибьютед таблицы
Логично, спасибо. А вообще, что скажетее о такой схеме? Ибо иначе придется все сервера держать в одном ДЦ

Wolf
01.06.2018
10:25:27
да это стандартная схема ,никаких отличий нет

Vladimir
01.06.2018
10:25:35
Всем привет! А есть для OSX версия clickhouse-client?

Wolf
01.06.2018
10:26:34
используйте докер

Alex
01.06.2018
10:33:44
коллеги, а как дропнуть кусок? который судя по всему побился DB::Exception: Could not find a column of minimum size in MergeTree, part /clickhouse/storage/data/default/access_logs/20180531_0_424_15/.

Andrey
01.06.2018
10:35:07
Wolf
01.06.2018
10:35:37
вам

Serezha
01.06.2018
10:36:00
Коллеги, хорош ли ClickHouse для задачи хранения и обработки финансовой инфы? Торги на бирже, желательно производительность как можно более риал-таймовую

Wolf
01.06.2018
10:36:23
просто ваша схема ничем не отличается от той что описана как стандартная в доке кх , тут либо вы выдумали какие то особенности. либо не понимаете как работает кх

Kirill
01.06.2018
10:37:36
Логично, спасибо. А вообще, что скажетее о такой схеме? Ибо иначе придется все сервера держать в одном ДЦ
Плохая схема, все сервера (сервера КХ) равноценны и выполняют одну и туже работу (мержат куски), соответственно машины должны быть идентичны.

antuan
01.06.2018
10:38:33
https://github.com/yandex/ClickHouse/issues/2401 можно получить ответ на последний комментарий? а то у нас задача горит :)

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