@clickhouse_ru

Страница 602 из 723
nikita
27.07.2018
13:47:11
подскажите, я правильно понял, что цепочка MergeTree -> матвьюха1 -> MergeTree -> матвьюха2 -> MergeTree будет работать нормально, но если заменить везде MergeTree на ReplicatedMergeTree, то матвьюха2 уже не будет срабатывать?

Google
nikita
27.07.2018
14:08:12
не, первая точно работала. а как переделал все на Replicated, перестала. спасибо, значит это не я что-то накосячил.

Alexander
27.07.2018
14:09:32
мы решили, что матвью в принципе не вызывает тригеры insert и бросили эту затею

nikita
27.07.2018
14:10:07
в итоге тоже решили "ручками" данные туда-сюда переливать?

Alexey
27.07.2018
14:17:58
матвьюхи тоже надо сделать Replicated

Roman
27.07.2018
14:21:59
Если ли какой-нибудь красивый метод перебалансировать кластер, если добавляются новые шарды?

Wolf
27.07.2018
14:22:53
красивого нет

Tima
27.07.2018
14:26:43
Если ли какой-нибудь красивый метод перебалансировать кластер, если добавляются новые шарды?
Есть такое https://clickhouse.yandex/docs/ru/operations/utils/clickhouse-copier/ Но что это и как оно - не могу сказать

nikita
27.07.2018
14:29:54
матвьюхи тоже надо сделать Replicated
в смысле целевые таблицы матвьюх? так и сделано. а матвьюхи сделаны через TO

Yuri
27.07.2018
15:16:55
завёл тикет на гитхабе: https://github.com/yandex/ClickHouse/issues/2739
Вы уверены, что group by обязан сортировать? ни одна БД этого не делает в SMP конфигурации. ну и теоретическая подоплека такого поведения заключается в том факте, что отношения, как и множества не обладают свойством упорядочности

Google
Yuri
27.07.2018
15:21:38
угу. но сортировка в подзапросах это нонсенс по той же причине. всегда надо сортировать результирующее отношение. впрочем, пусть папки и думают, я так, потреньдеть а пятницу

daria
27.07.2018
15:32:56
чуть глупый вопрос. есть ли функция, которая переводит секунды во время? на входе 325 секунд, на выходе 00:05:25

ничего даже близко похожего не нашла

Vladimir
27.07.2018
15:35:27
угу. но сортировка в подзапросах это нонсенс по той же причине. всегда надо сортировать результирующее отношение. впрочем, пусть папки и думают, я так, потреньдеть а пятницу
Вариант с подзапросом и мне кажется очень костыльным. Поэтому я попытался достичь похожего поведения при помощи arraySort(). Но там свои костыли + отладить сложный запрос будет очень сложно.

Yuri
27.07.2018
15:39:56
чуть глупый вопрос. есть ли функция, которая переводит секунды во время? на входе 325 секунд, на выходе 00:05:25
SELECT toTime(toDateTime(350)) ┌─toTime(toDateTime(350))─┐ │ 1970-01-02 06:05:50 │ └─────────────────────────┘

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

Vladimir
27.07.2018
15:40:38
чуть глупый вопрос. есть ли функция, которая переводит секунды во время? на входе 325 секунд, на выходе 00:05:25
SELECT extract(toString(toDateTime(325, 'UTC')), ' .*') AS time ┌─time──────┐ │ 00:05:25 │ └───────────┘ В результате будет строка + это будет работать для времени, не превышающего одни сутки.

Yuri
27.07.2018
15:41:01
мощно ! :)

daria
27.07.2018
15:43:09
и правда мощно) спасибо!

Illegal type UInt16 of argument of function toTime. Should be a date or a date with time.

meh

Yuri
27.07.2018
15:46:36
ну не не toTime жи!

у Вас там не литреал интовый?

daria
27.07.2018
15:53:03
я глупая и в начале там была моя неработающая версия))

ит воркс, спасибо

Vitaly
27.07.2018
16:03:35
привет. а как можно ускорить запрос? выполняется 2.5 секунды SELECT messageId as id, any(message) as errorMessage FROM errors_beta_index GROUP BY messageId

если убрать any(message) as errorMessage 0.5 секунды

Roman
27.07.2018
16:51:13
Что-то я не могу найти функцию максимума от аргументов (либо массива, либо просто максимум из N колонок)

Alex
27.07.2018
16:53:29
SELECT arrayReduce('max', [1, 2, 3]) ┌─arrayReduce('max', [1, 2, 3])─┐ │ 3 │ └───────────────────────────────┘

papa
27.07.2018
16:56:13
greatest

Google
Roman
27.07.2018
17:03:42
Спасибо

Vitaly
27.07.2018
20:43:14
Yuri
27.07.2018
20:52:13
А message хочется получить
а как у одного messageId может быть много message? а кто "ключ этой таблицы?

Vitaly
27.07.2018
20:52:31
Нет. 1 к 1

MessageId ключ

а как у одного messageId может быть много message? а кто "ключ этой таблицы?
Как-то можно быстрее получить message, который 1к1 с messageId по Которому группировка

Yuri
27.07.2018
20:55:52
Как-то можно быстрее получить message, который 1к1 с messageId по Которому группировка
а зачем группировать по messageId, если оно 1:1 с message? я мыслю не уловил :(

Vitaly
27.07.2018
20:56:37
а зачем группировать по messageId, если оно 1:1 с message? я мыслю не уловил :(
Ну message бывает в 1000 символов. Думал так быстрее группировка работать будет и индекс

+ мне id в любом случае нужен

Yuri
27.07.2018
20:57:50
+ мне id в любом случае нужен
ты точно-точно-точно-точно-точно понимаешь, зачем нужен group by ?

в твоем примере я не вижу смысла в group by :(

Vitaly
27.07.2018
20:58:55
В селекте ещё всякое. Count, сумма уникальных пользователей И так далее

Я для примера не стал писать

Yuri
27.07.2018
21:01:14
по одной таблице хоть? но вообще ответ на твой вопрос тогда: никак :)

там у тебя сколько триллионов записей?

Yuri
27.07.2018
21:02:40
Одной, да
и это хорошо

Vitaly
27.07.2018
21:02:40
там у тебя сколько триллионов записей?
В конкретном примере - 30млн записей. А вообще много. Миллиарды

Yuri
27.07.2018
21:03:35
ну так а на что ты жалуешься? бигдата она для анализа, а не для OLTP ну сделай матпредставления, например

Vitaly
27.07.2018
21:04:04
Отдельные view таблички ты имеешь ввиду?

Google
Vitaly
27.07.2018
21:05:45
Напиши чуть подробнее?

Yuri
27.07.2018
21:06:14
MaterializedView¶ Used for implementing materialized views (for more information, see CREATE MATERIALIZED VIEW). For storing data, it uses a different engine that was specified when creating the view. When reading from a table, it just uses this engine.

http://clickhouse-docs.readthedocs.io/en/latest/table_engines/materializedview.html

Vitaly
27.07.2018
21:07:30
А сделать список уникальных id-messAge и сделать последовательный запрос за ними с where in?

?
28.07.2018
15:05:04
а в КХ вообще не планируются запросы с параметрами? то есть как пример – VIEW куда можно передать имя таблицы или там LIMIT %%LimitValue%%

Yuri
28.07.2018
17:53:05
имя таблицы параметром во вью это моветон, как мне кажется.

и чем отличается лимит параметром от просто от лимита на селект из вьюхи?

?
28.07.2018
18:00:28
ну лимит это как пример, а имя таблицы как раз очень нужно бывает. точнее вот что, нужно даже не вью с параметром, а именно пользовательские функции, в которых уже будут селекты и которые можно объединять в цепочки обработки данных. плюсы – отсутствие многоэтажных селектов, модульность и более удобное тестирование.

?
28.07.2018
18:06:11
да какое тут личное :) но может у них стокгольмский синдром развивается! ) в других же бд они есть вроде как

Yuri
28.07.2018
18:10:24
нигде нету.

Adabas, Adabas-M, Oracle, нету :)

ну может в Berkley DB есть, не уверен

?
28.07.2018
18:12:21
ну я больше про PG и MySQL, если конечно их можно считать бд

Anton
28.07.2018
18:15:32
ну я больше про PG и MySQL, если конечно их можно считать бд
Динамический SQL и имя таблицы в виде параметра view - это разные вещи, ИМХО. Или это не про динамический SQL?

?
28.07.2018
18:18:39
ну я там переосмыслил, скорее речь про пользовательские функции. то есть мне нужно подать на вход функции имя таблицы, из которой она вернет набор данных согласно встроенной в саму функцию логике.

Denis
28.07.2018
19:19:08
В случае кх и вообще олап это можно написать хоть на баше и просто передавать промежуточные результаты через временные таблицы.

?
28.07.2018
19:28:11
да все решаемо, конечно, в итоге. вопрос трудозатрат, итоговой элегантности и общей поверхности для внесения ошибок.

GithubReleases
29.07.2018
00:54:31
yandex/ClickHouse was tagged: v18.1.0-stable Link: https://github.com/yandex/ClickHouse/releases/tag/v18.1.0-stable Release notes: Auto version update to [18.1.0] [54396]

Google
Vladimir
29.07.2018
00:55:11
бот какое-то время лежал, так что он тут это, старые события повыплевывал

GithubReleases
29.07.2018
01:49:31
yandex/ClickHouse was tagged: v18.4.0-stable Link: https://github.com/yandex/ClickHouse/releases/tag/v18.4.0-stable Release notes: Auto version update to [18.4.0] [54399]

Павел Максимов
29.07.2018
07:38:05
Подскажите почему не работает ALTER DELETE. Версия КХ 1,1,54394? Code: 62 Syntax error В справке написанно, что с 1,1,54388 есть такая функция

Павел Максимов
29.07.2018
07:40:55
Покажите полную версию запроса
ALTER TABLE default.skyeng DELETE WHERE ClientID = 1209

Tima
29.07.2018
07:44:06
На последней версии 18.1.0 прекрасно работает



У вас точно таблица с движком MergeTree?

Павел Максимов
29.07.2018
07:59:49
У вас точно таблица с движком MergeTree?
да. А КХ нужно перезагружать после обновления?

Wolf
29.07.2018
08:00:12
да надо он сам не рестартистся

Павел Максимов
29.07.2018
08:00:46
ок, спасибо

Zo zo
29.07.2018
08:34:36
подскажите, есть что-то типа ф-и getCurrentClusterNodeHostname? (Надо понять как в распределенной таблице данные по нодам кластера распределены)

(понятно, что можно руками на каждой ноде запустить запрос, но мы же ленивые)

SELECT … ON CLUSTER, как вижу, нет такого

Гаря
29.07.2018
10:45:49
Есть ли возможность представить массив, как список колонок? Т.е. clientid, phones 1, [79876765656, 79654563434] представить как clientid, phone1, phone2 1, 79876765656, 79654563434?

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