@clickhouse_ru

Страница 639 из 723
Alexey
28.08.2018
13:17:06
Как сделать запрос с группировкой по blog_id. Получить сумму последних balance по created_at у всех user_id Желательно без подзапроса
С подзапросом сначала выбираются последние по createdAt (читайте про агрегатную функцию argMax), дальше суммируется

Алексей
28.08.2018
13:18:26
@PolyakovAV Это я понимаю, но это не ложится на основной запрос. очень хочу решить без подзапроса

Alexey
28.08.2018
13:20:04
по-моему никак не выйдет но с подзапросом же быстро всё работает, если объемы не космические

Алексей (OPS)
28.08.2018
13:20:50
Здраствуйте, как повторить AUTO INCREMENT из mysql в clickhouse? Можно ли сделать подобное? INSERT INTO users (id, nickname,) VALUES ({клво данных в таблеце},'aquaminer1')

Google
Алексей
28.08.2018
13:22:42
@PolyakovAV просто уже есть orm но подзапрос не ложится на текущую реализацию. Из-за одного запроса придется все переделать

Alexey
28.08.2018
13:24:38
@PolyakovAV просто уже есть orm но подзапрос не ложится на текущую реализацию. Из-за одного запроса придется все переделать
есть вариант сделать materialized view типа AggregatingMergeTree и к этой вьюхе уже запросы будет без подзапроса

Алексей
28.08.2018
13:25:25
да, это вариант, думаю может так решим

Алексей (OPS)
28.08.2018
13:45:28
Как вариант UID
можете немного по конкретней? не могу найти в доке

Vladislav
28.08.2018
13:46:32
можете немного по конкретней? не могу найти в доке
Думаю что имелось в виду использование UUID для поля id.

Алексей (OPS)
28.08.2018
13:50:58




Kirill
28.08.2018
13:59:47
как делают подобные таблицы для пользывателей?
Не надо хранить пользователей в КХ

Саша
28.08.2018
14:24:13
а как получить номер недели для даты?

необходимо посчитать данные по неделям, обнаружил в документации toRelativeWeekNum которая выдает не понятное число

Google
Саша
28.08.2018
14:28:46
SELECT toRelativeWeekNum(toDate('2018-01-01')) ┌─toRelativeWeekNum(toDate(\'2018-01-01\'))─┐ │ 2505 │ └───────────────────────────────────────────┘

Vasilij
28.08.2018
14:28:46
А ничего не менялось в механизме использования сессий в последних релизах? Что-то обновил все реплики, и указание session_id перестало работать...

Oleg
28.08.2018
14:29:11
и как выгялдит эито число?
toRelativeWeekNum Переводит дату-с-временем или дату в номер недели, начиная с некоторого фиксированного момента в прошлом. Это что-то типа как timestamp для секунд.

Для подсчёта данных по неделям можно дату привести к началу недели ( toMonday(date) ) и аггрегировать по получившейся дате

daria
28.08.2018
14:31:11
у меня так работает

оно конечно некошерно

но другого способа не нашлось

Kirill
28.08.2018
14:40:42
необходимо посчитать данные по неделям, обнаружил в документации toRelativeWeekNum которая выдает не понятное число
toMonday тут нагляднее чем номер будет SELECT toMonday(today()) ┌─toMonday(today())─┐ │ 2018-08-27 │ └───────────────────┘

Slava
28.08.2018
14:49:52
парни, привет

поделитесь рецептами, как вы переобогащаетесь, если плохие данные прилетели

Андрей
28.08.2018
15:21:10
Сегодня на clickhouse-server-е (версия 18.10.3) обнаружилось странное разграничение доступов по ip адресам. Если для юзера в файле users.xml прописать: <networks incl="networks" replace="replace"> <ip>::1</ip> <ip>127.0.0.1</ip> <ip>10.4.4.10/32</ip> </networks> то clickhous-server почему то игнорирует маску /32 и доступ раздает подсети 0.0.0.0/0 (странное поведение). Если для юзера в файле users.xml прописать: <networks incl="networks" replace="replace"> <ip>::1</ip> <ip>127.0.0.1</ip> <ip>10.4.4.10</ip> </networks> то clickhous-server воспринмает адрес 10.4.4.10 как 10.4.4.10/32 (больше похоже на правду). Кто-нибудь с талкивался с таким поведением clickhouse-server-а (возможно что-то делаю не так)? Версия clickhous-server 18.10.3.

molo4ko
28.08.2018
15:57:24
а пакетная запись - это же по-табличная рекомендация? то есть если у меня 2 таблицы, могу ли я писать в них обе одновременно, если соблюдаются правила записи попакетно в каждую из них?

Андрей
28.08.2018
16:17:47
>то clickhous-server воспринмает адрес 10.4.4.10 как 10.4.4.10/32 (больше похоже на правду). Что значит "воспринимает"? Вы пробовали с разных ip из этой подсети к нему подключаться или что?
Пробовал с разных адресов подсети 10.4.4.0/24 и с других подсетей. Эффект одинаков сервер успешно авторизует. Поэтому и сделан вывод что открыт доступ для подсети 0.0.0.0/0

Vladimir
28.08.2018
16:19:25
а если попробовать 1.1.1.1/32?

Michal
28.08.2018
16:19:28
Проверьте логи сервера и файлы -processed. Возможно что-то прояснится.

Vladimir
28.08.2018
16:20:58
подскажите, как правильно настроить окружение для сборки clickhouse? может у кого-то есть Dockerfile правильный? а то у меня ./release не работает, компиляция тоже валится на zconf.h

molo4ko
28.08.2018
16:24:31
не понимаю, в чем проблема. пишу в 5 таблиц пакетно раз в 5 секунд или по 65К записей, в двух из них время от времени растет количество кусков до >300 и появляется это “Merges are processing significantly slower than inserts”

Google
molo4ko
28.08.2018
16:24:40
пытаюсь понять, что не так

Vladimir
28.08.2018
16:25:54
ну… попробуйте писать реже но больше ?

molo4ko
28.08.2018
16:27:32
а чем такой совет обоснован? то есть какие метрики посмотреть, чтобы понять, что именно плохо?

Vladimir
28.08.2018
16:28:25
по-моему, КХ и так говорит, в чем проблема - мержить не успевает

может эти таблицы очень тяжелые? что с CPU? диск?

molo4ko
28.08.2018
16:39:43
la 0.3-0.5, iostat показывает что-то вроде Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util xvda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 xvdh 0.00 1242.40 0.20 40.40 0.80 5139.20 253.20 0.17 4.30 0.00 4.32 0.22 0.88

Vladimir
28.08.2018
16:47:49
stable/master, docker ubuntu:18.04

debian 8, 9 тоже пробовал

какая версия ch и какая ос?
код из бранча fix3 тоже не помог

Андрей
28.08.2018
16:55:03
Проверьте логи сервера и файлы -processed. Возможно что-то прояснится.
В логах clickhouse-server успешно регистрируется коннект (ошибки не регистрируются за период времени связанный с данными коннектами), при этом подсеть 10.5.4.0/24 (и тем более адрес 10.5.4.23) отсуствует в списках доступов users.xml 2018.08.28 19:45:46.886172 [ 21 ] <Trace> TCPSHandlerFactory: TCP Request. Address: 10.5.4.23:44124 2018.08.28 19:45:46.993980 [ 21 ] <Debug> TCPHandler: Connected ClickHouse client version 18.10.0, revision: 54405, user: writer. . В processed, информация таже что и в users.xml.

а если попробовать 1.1.1.1/32?
Попробую тестануть, чуть позже сообщу.

prll
28.08.2018
17:00:35
код из бранча fix3 тоже не помог
а лог полный можно? а то не воспроизводится

Vladimir
28.08.2018
17:12:56
кажется, что это может быть связано с -- The following features have been disabled: * ZLIB_COMPAT, Provide a zlib-compatible API

вообще, советую в докере попробовать собрать для чистоты окружения

prll
28.08.2018
17:15:25
ага, с чистотой проблемы, нужно просто склонировать вчистую или git clean -fdx ...

Vladimir
28.08.2018
17:19:37
сейчас попробую. к текущему состоянию я пришел запуском ./release несколько раз, который тоже не работает, но валится на pbuilder

prll
28.08.2018
17:20:57
возможно в списке инклюд проблемы

Vladimir
28.08.2018
17:23:58
неа, с fix3 после git clean -fdxX все равно валится на fatal error: zconf.h: No such file or directory

Google
prll
28.08.2018
17:28:02
поймал

мешала системная zlib1g-dev

Vladimir
28.08.2018
17:33:14
вы планируете все либы с собой носить?

Вадим
28.08.2018
17:33:44
Народ, подскажите: Нужно снимать бизнес-аналитику с сайта с небольшой нагрузкой (10-20 RPS) и далее смотреть ее в ClickHouse. Есть ли уже готовое решение для буферизации данных перед вставкой в ClickHouse. Или же может есть best Practices, как это лучше делать. Задача в принципе стандартная и яб ее решал просто через промежуточную таблицу в MySQL к примеру, но может быть есть что-то лучше.

prll
28.08.2018
17:33:47
уже все носим кроме icu но это отключаемо

Vladimir
28.08.2018
17:35:43
gcc -nostdinc не поможет?

prll
28.08.2018
17:39:02
stdlib , sys/* и всякие icu все еще нужны

Vladimir
28.08.2018
17:48:44
ну тогда в докере собирать

prll
28.08.2018
17:53:46
а сейчас ? https://github.com/yandex/ClickHouse/commit/c4f6bb1de07751d3254de3d0dda4d7de05a3ce1c

git clone + release (pbuilder) не хуже докера по чистоте

Вадим
28.08.2018
17:59:22
таблица типа Buffer ?
Да, как варинт. Минус: труднее готовить данные, Плюс: дальнейшее масштабирование

Denis
28.08.2018
18:01:33
чем труднее?

LeiDruid
28.08.2018
18:01:52
чем труднее?
+1 интересно

Вадим
28.08.2018
18:30:52
чем труднее?
Это не характеристика сложности работы с CH. Это особенности нашей реализации.

Denis
28.08.2018
18:31:42
так буфер-таблица будет структурно идентична обычной. только имя другое

Pavel
29.08.2018
06:39:23
Вопрос про оптимизацию. Есть в таблице поле с миллисекундами msec. Подавляющее число запросов выполняет округление до секунд intDiv(msec, 1000) * 1000 (привет графане). Будет ли оптимальней сделать первичный ключ с приведением поля к секундам (date, sipHash64(host), …, intDiv(msec, 1000))? Или какие есть варианты?

Pavel
29.08.2018
07:28:25
он есть и там и там, я хочу добиться меньшего размера индекса, с меньшим кол-вом значений msec но не уверен, что это будет работать

Google
Vladimir
29.08.2018
07:41:24
А как вы размер индекса определяете? И что даёт меньший размер?

Pavel Tyavin
29.08.2018
07:56:32
Можно как-нибудь посмотреть, какая колонка больше всего занимает места?

Alex
29.08.2018
07:57:36
По system.columns

Vladimir
29.08.2018
08:12:40
Подскажите PARTITON BY по умолчанию бьет по дням? Если нет то как по дням?

LeiDruid
29.08.2018
08:17:43
Как - в доке подробно описано

Vladimir
29.08.2018
08:18:12
Как - в доке подробно описано
Доку по месяцам видел. А по дням?

LeiDruid
29.08.2018
08:18:18
и в тесте в коде

сейчас посмотрю

Vladimir
29.08.2018
08:19:49
сейчас посмотрю
нашел. Спасибо! PARTITION BY FlightDate

без преобразований

LeiDruid
29.08.2018
08:21:06
Это только колонка

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