
Vsevolod
14.07.2017
13:39:33
ну просто функция делает какую-то фигню в этом случае

Roman
14.07.2017
13:39:37
toDateTime нужно

Vsevolod
14.07.2017
13:39:46
toUnixTimestamp(toDateTime(today()))
да, так работает, но опять же логики не вижу

Google

Vsevolod
14.07.2017
13:40:17
если toUnixTimestamp умеет работать с Date, то зачем ей нужно явное преобразование

Roman
14.07.2017
13:40:19
все функции, которые принимают dateTime, не умеют принимать date, это не очень удобно, но приходится счтитаться

Vsevolod
14.07.2017
13:40:54
ну вот я как раз хочу добавить тип данных с наносекундным таймстампом
и это что значит, будет еще один несовместимый формат?
ведь по идее, все функции инстанциируются полиморфно
и узнать тип того, что им передают, довольно просто

Roman
14.07.2017
13:41:49
toDateTime(time * 0.001)
как функции отличить в dateTime милисекунды от очень большого времени когда-нибудь в будущем?
а вот date принимать, там где dateTime, конечно можно было бы

papa
14.07.2017
13:42:44
в кх нет type coercion, но есть много перегруженных функций для разных комбинаций типов. много, но недостаточно.

Vsevolod
14.07.2017
13:43:04
я говорю о наносекундах
они ОЧЕНЬ отличаются
ну и вообще, sizeof(type) == 8 - наносекунды

Roman
14.07.2017
13:43:32
почему?

Google

Vsevolod
14.07.2017
13:43:32
sizeof(type) == 4 - секунды
sizeof(type) == 2 - date

Roman
14.07.2017
13:43:51
почему нельзя секунды в int64 хранить теоретически?

Vsevolod
14.07.2017
13:44:13
можно, но ты спрашиваешь, как отличать

Roman
14.07.2017
13:44:21
а мы вот милисекунды храним

Vsevolod
14.07.2017
13:44:26
наносекунды от секунд отличаются примерно на возраст вселенной

Alexander
14.07.2017
13:44:28
Потому что с ними как с числами неудобно работать.

Vsevolod
14.07.2017
13:44:40
да работать-то норм
парсить неудобно

Alexander
14.07.2017
13:45:29
Ага, именно про это.

Vsevolod
14.07.2017
13:46:33
у нас счет идет на микросекунды

papa
14.07.2017
14:00:19
видимо поэтому у вас kdb

Vsevolod
14.07.2017
14:00:33
у нас нет kdb, мы выбираем
и выбирать kdb я крайне не хочу
dpfgnt:{[d;p;f;g;n;t]if[~&/qm'r:+en[d]t;'`unmappable]{[d;g;t;i;x]@[d;x;g;t[x]i]}[d:par[d;p;n];g;r;<r f]'!r;@[;f;p#]@[d;.d;:;f,r@&~f=r:!r];n} - потому что работать вот с таким мне вообще не уперлось

papa
14.07.2017
14:04:44
какой-то apl напоминает.

Vsevolod
14.07.2017
14:04:48
да
https://netch80.dreamwidth.org/38267.html
я с этим недельку поработал и начал рвать на жопе волосы, поэтому очень бы хотелось подружить тут местных с кликхаусом

Alexander
14.07.2017
14:08:45

Google

Vsevolod
14.07.2017
14:08:58
да, но он постоянно выплывает
в сообщениях об ошибках, например
q от этого ушел недалеко

Alexander
14.07.2017
14:09:48

Vsevolod
14.07.2017
14:10:06
думаю, эта дискуссия не имеет смысла

Alexander
14.07.2017
14:10:29
У нас из 20 человек наверное три могут что-то понять в К, остальные прекрасно работают много лет, зная только q
думаю, эта дискуссия не имеет смысла
Ну я просто к тому, что все же это к на примере, а его знать вообще не надо. А q намного удобнее именно для базы. Где-то была статья как бы должен выглядеть в идеале sql, ну в общем близко к q

Vsevolod
14.07.2017
14:12:59
ну ок, а теперь внимание вопрос
как делать джоины с несовпадающими ключами в q

Sergey
14.07.2017
14:13:16
@milovidov_an
Прошу прокомментировать следующую ситуацию:
Выполняю запрос. Ожидаю получить 0.6, а получаю 0.7 - что не так?
Запрос:
Select quantileExact(0.9)(x) from (
Select arrayJoin(range(8))/10 as x
union all select arrayJoin(range(2))/10 as x
)
Версия КХ 1.1.55189

Tima
14.07.2017
14:13:36

Alexander
14.07.2017
14:14:04

Vsevolod
14.07.2017
14:14:27
нет, я уже знаю, как это сделать. я к тому, что хорошо, что sql так не выглядит :)

Alexander
14.07.2017
14:16:37
как делать джоины с несовпадающими ключами в q
Функции ej, aj вроде. Но ключ делается просто xkey, а то и 1! Все же это дело привычки. Через год работы с q-sql с обычным совсем нелегко работать. Банальные вещи в обычном sql получаются очень сложно - выше по чату я писал, типа выбрать последние элементы из массива.

f1yegor
14.07.2017
17:08:07

Aliaksandr
14.07.2017
17:27:23
у нас только что произошло ЧП - не сработали лимиты для юзера. Внутри <profiles><username> прописаны следующие лимиты:
<max_concurrent_queries_for_user>2</max_concurrent_queries_for_user>
<max_execution_time>30</max_execution_time>
ни один из них не сработал - show processlist показывает, что под этим юзером (initial_user) выполняется 12 одновременных запросов, которые висят уже более 1000 секунд каждый.
версия кликхауса - 1.1.54236
это бага или фича?
дополнительные сведения:
- запросы выполнялись на Distributed таблице, initial_user всех запросов одинаковый - тот, у которого выставлены лимиты
- лимиты выставлены на всех шардах
- первоначальные запросы равномерно распределялись между всеми шардами - на каждой шарде есть идентичная Distributed таблица
- количество шард - 13


Maxim
14.07.2017
19:39:40
мне кажется, что если тебе надо ограничить юзера то надо смотреть сюда
https://github.com/yandex/ClickHouse/blob/master/dbms/src/Server/users.xml#L91
но работать будет не на кластер, а на ноду(как мне кажется)

Google

Aliaksandr
14.07.2017
19:46:30
да, будем пробовать квоты, раз лимиты из юзер профилей не сработали )
max_concurrent_queries_for_user вроде правильно выставляется.
вот что показывает кликхаус при подключении из-под юзера с вышеуказанными лимитами на любую из шард:
SELECT *
FROM system.settings
WHERE name = 'max_concurrent_queries_for_user'
┌─name────────────────────────────┬─value─┬─changed─┐
│ max_concurrent_queries_for_user │ 2 │ 1 │
└─────────────────────────────────┴───────┴─────────┘

Maxim
14.07.2017
19:52:34
может на уровне ноды и правильно работает, а у вас наверное не одна

Admin
ERROR: S client not available

Roman
17.07.2017
07:13:15
Подскажите, https://github.com/yandex/ClickHouse/issues/217 еще актуально?

Artem
17.07.2017
09:28:54
Ребят, кто поможет за денежку на винде поднять кликхаус через докер?
+ показать как выгружать данные и строить отчеты

Vitaliy
17.07.2017
09:32:45
не проще просто поднять виртуалку убунту сервер и запустить apt-get install clickhouse-client clickhouse-server-common

Roman
17.07.2017
09:33:01
еще на 10й винде убунта нативная

Andrey
17.07.2017
09:39:48
Подскажите, пожалуйста по сборке. Хочу написать Foereign Data Wrapper для PostgreSQL с native протоколом. Расширения PostgreSQL собраются примерно вот так https://github.com/x4m/clickhouse_fdw/blob/master/Makefile
Я хочу использовать код из ClickHouse\Server\Client.cpp и его зависимости. Как мне лучше собирать extension? Собрать что-то из Кликхауса и потом к себе линковать? Перенести свой код в cmake сборку Кликхауса? Перенести код к себе и перенастроить сборки расширения PostgreSQL на С++?

Artem
17.07.2017
09:41:32
Да и убунту это жесть

Vitaliy
17.07.2017
09:43:40
убунта "родная" для КХ вроде как, по идее наиболее стабильное поведение т.к. в яндексе на убунте метрика КХ и крутится если не ошибаюсь

Andrey
17.07.2017
09:43:49
Собрать что-то написанное для Ubuntu на Винде - вот это жесть. А apt-get install - это не жесть :)

Andrew
17.07.2017
09:44:19
Чисто с экономической точки зрения, вам будет дешевле и быстрее найти человека, который развернет вам CH на убунте, купит виртуалку и объяснит что да как, чем CH на винде ставить

Vitaliy
17.07.2017
09:44:26
а что не удалось. я вообще .нет разработчик и далекий от юниха, но у меня все поднялось с первой попытки легко и непринужденно

Andrey
17.07.2017
09:44:43
речь то о сервере или клиенте?

Vsevolod
17.07.2017
09:44:50
так сейчас же под винду есть убунта
я там даже nginx пускал (правда, после пляски с бубном некоторой)

Vitaliy
17.07.2017
09:46:05
сервер + комманд лайн clickhouse на убунте. Снаружи коннектиться можно чем душа пожелает.

Google

Andrey
17.07.2017
09:48:39
на митапе в Екб народ говорил что CLI собираентся в Ubuntu on Windows, а вот сервер не работает

Vsevolod
17.07.2017
09:49:33
из-за форка, полагаю
хотя там вообще до фига всего сломано в Posix части

Andrey
17.07.2017
09:50:01
постгрес как-то форкается на винде

Vsevolod
17.07.2017
09:50:14
nginx тоже, но там были некоторые нюансы
навроде fork + epoll или что-то вроде этого

Artem
17.07.2017
09:50:29
А можно управлять кх из php?

Vsevolod
17.07.2017
09:50:47
Rspamd у меня работал, но была беда с тайм-аутами
в общем, это решение так себе

Artem
17.07.2017
09:53:30
У меня ноут на 10 винде, коре ай 5 2.5ghz, 6 гб оперативки и 600гб свободно. Мне хватит этого чтобы на виртуалке в убунту работал кх?

Andrey
17.07.2017
09:54:57

Andrey
17.07.2017
09:55:17
от данных же зависит. Система же жрёт ресурсы не потому что голодная

Artem
17.07.2017
09:57:07