@clickhouse_ru

Страница 387 из 723
Vladimir
11.01.2018
09:56:44
Коллеги, есть ли функция, подобная argMax, но для количества?



Mariya
11.01.2018
10:13:03
Коллеги, есть ли функция, подобная argMax, но для количества?
Добрый день, это же агрегатная функция count и join с исходной таблицей или нужно что-то сложнее числа встречания аргументов в col1?

Vladimir
11.01.2018
10:13:53
Добрый день, это же агрегатная функция count и join с исходной таблицей или нужно что-то сложнее числа встречания аргументов в col1?
Ага, но хотелось проще, потому что потом опять надо джойнить, а значит в подзапрос оборачивать

Google
Александр
11.01.2018
10:14:24
Народ, подскажите требования к системе, на которой clickHouse мог бы спокойно работать с 5 млрд. записей. В день новых прилетать будет около 10 млн.

Mariya
11.01.2018
10:15:38
Ага, но хотелось проще, потому что потом опять надо джойнить, а значит в подзапрос оборачивать
Только что-то такое придумалось, но там тоже нужны подзапросы и мб еще arrayJoin (если хочется разбить к изначальному виду) SELECT col1, groupArray(col2) AS col2s, count() AS argCount FROM ( SELECT col1, col2 FROM system.one ARRAY JOIN ['a', 'a', 'a', 'b', 'b', 'c'] AS col1, ['foo', 'foo', 'bar', 'bar', 'foo', 'foo'] AS col2 ) GROUP BY col1 ┌─col1─┬─col2s───────────────┬─argCount─┐ │ b │ ['bar','foo'] │ 2 │ │ c │ ['foo'] │ 1 │ │ a │ ['foo','foo','bar'] │ 3 │ └──────┴─────────────────────┴──────────┘

Cargeh
11.01.2018
10:15:40
Народ, подскажите требования к системе, на которой clickHouse мог бы спокойно работать с 5 млрд. записей. В день новых прилетать будет около 10 млн.
смотря что ты имеешь в виду под "спокойно работать" если просто хранить инфу, то вроде не так требовательно, а если селекты с онлайн пользователями - уже другое дело

Albert
11.01.2018
10:17:57
Привет! Уважаемый @SomeoneBehindYou, поделитесь пожалуйста информацией как вы делаете транспонирование узкой таблицы в широкую? Спасибо)

Albert
11.01.2018
10:28:25
Через CASE :)
А почему именно CASE? Это оптимальнее чем простым условием? Например: SELECT if(key = 'col1', value, null_placeholder) as 'col1', if(key = 'col2', value, null_placeholder) as 'col2' FROM ...

Dmitry
11.01.2018
10:37:22
приветствую, кто-нибудь может помочь разобраться с schema Kafka(broker_list, topic_list, group_name, format[, schema]) для формата TSV, как определить, куда подставить, может есть примеры?

Andrew
11.01.2018
10:43:21
А это нормально что для select-а содержащего две строки одновременно ,sumIf(fees[1],fees[1]>0 and deleted = 0 ) as fees ,sumIf(fees[1],fees[1]<0 and deleted = 0 ) as corrects я получаю DB::Exception: Aggregate function sumIf(arrayElement(fees, 1), and(greater(arrayElement(fees, 1), 0), equals(deleted, 0))) is found inside another aggregate function in query. ?

с обычными столбцами такое работает нормально

Andrew
11.01.2018
10:45:21
А, все, понял:)

Google
Egor
11.01.2018
10:46:20
https://github.com/nikepan/clickhouse-bulk пригодно к использованию?

Vladimir
11.01.2018
10:46:26
Всем привет, подскажите пожалуйста можно ли подключиться Mac OS Tableau к ClickHouse?

Cargeh
11.01.2018
10:47:50
@volshevchenko

Привет всем, А подскажите как подключить ClickHouse к Tableau на MacOS??

Не подключается. Tableau под MacOS не поддерживает ODBC, который используется для подключения к ClickHouse.

Сергей
11.01.2018
10:49:51
https://github.com/nikepan/clickhouse-bulk пригодно к использованию?
а зачем? есть же https://clickhouse.yandex/docs/ru/table_engines/buffer.html

Vladimir
11.01.2018
11:08:08
Stas
11.01.2018
11:39:45
Смотрите как можно sumIf(counter, XX like 'YY')
мне надо еще NULL а там его нет =)

Rudenko
11.01.2018
12:42:02
Есть запрос вот такого вида SELECT SUM(Amount) AS Volume, SUM(Amount * Price) AS Vol, argMax(Price, Timestamp) AS P, Max(Price) AS Max, Min(Price) AS Min, Pair1, Pair2, Exchange, toStartOfHour(Time) FROM trade_history GROUP BY Pair1, Pair2, Exchange, toStartOfHour(Time) По суте это агригатор для данных в часовой интервал. Как бы мне это все сделать так чтоб КХ сам создавал такие штуки ? Говорю сразу что данные уже входят в КХ в упорядоченом виде по времени. И записей в Прошлое просто не может даже быть. Есть два пути : 1) Выбирать данные каждые допустим 10 секунд, и ложить их в новую таблицу, типа Pair1_Pair2_Exchange_SHour. Потом делать выборку уже с нее. И при каждом перерасчете удалять ее чрез допустим DROP. Что может привести в момент запроса к отсутствию самой таблицы, к трате кучи лишних ресурсов. Когда по факту надо просто менять последний интервал в зависимости добавления данных. 2) Ну и второй вариант сделать как-то красиво через MaterializedView или просто View движки. Но увы в доках про них написано ровно 3 строчки. А про View вообще 2 строчки.

hulponot
11.01.2018
12:48:17
https://clickhouse.yandex/docs/ru/single/#aggregatingmergetree это не читали?

Rudenko
11.01.2018
12:51:50
Oleh
11.01.2018
13:23:44
Привет всем, пытаюсь собрать дебпакет из исходников, использую такой https://gist.github.com/freakst/31bd4350bf337d4333c5c48238f46fb1 докерфайл и для всех тегов више v1.1.54310-stable получаю ошибку автоконфа dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_BUILD_TYPE= -DENABLE_TESTS=0 -DCMAKE_CXX_COMPILER= -DCMAKE_C_COMPILER= -DCMAKE_VERBOSE_MAKEFILE=0 -DENABLE_TESTS=0 -DCMAKE_CXX_COMPILER= -DCMAKE_C_COMPILER= -DCMAKE_VERBOSE_MAKEFILE=0 returned exit code 1 debian/rules:52: recipe for target 'override_dh_auto_configure' failed make[1]: *** [override_dh_auto_configure] Error 255 вроде все как в доке установил, подскажите чего нехватает?

prll
11.01.2018
13:30:21
должна быть более подробная ошибка

Oleh
11.01.2018
13:32:13
вот весь выхлоп после ./release https://gist.github.com/freakst/e8d9855fd428c1af8e110a330bc1e7ff

Eugene
11.01.2018
14:12:03
Коллеги, приветствую Вас. Подскажите пожалуйста: Есть 2 таблицы pages 2кк строк links 200кк строк у обоих тип MergeTree таблица links содержит поле String page_hash по которому можно выбрать все links для определенной pages Делаю запрос виде SELECT * FROM pages WHERE page_hash = 'jhfjhdsfsdfkj' Запрос отрабатывает 3 сек и сканит всю таблицу Вопрос - как можно избежать full scan и можно ли Спасибо

papa
11.01.2018
14:12:42
индекс какой?

Eugene
11.01.2018
14:13:28
индекс какой?
MergeTree(date, id, (date, id)

Google
Eugene
11.01.2018
14:14:44
индекс какой?
По идее можно добавить сюда page_hash ?

papa
11.01.2018
14:15:32
а что такое date для page? бывают ли запросы по id?

Dima
11.01.2018
14:16:32
Товарищи, можно в сей систему писать свои функции?

papa
11.01.2018
14:16:53
Товарищи, можно в сей систему писать свои функции?
конечно, но для этого надо их коммитить на гитхаб.

Eugene
11.01.2018
14:17:01
а что такое date для page? бывают ли запросы по id?
Время добавления записи в таблицу.. Вы извините если это выглядит абсурдно, я пока разбираюсь с тонкостями. Нет запросов по id не бывает

Ololo
11.01.2018
14:20:52
А есть где-нибудь хорошая статья с примерами по engines, какой в каком случае лучше всего подходит?

papa
11.01.2018
14:21:22
Время добавления записи в таблицу.. Вы извините если это выглядит абсурдно, я пока разбираюсь с тонкостями. Нет запросов по id не бывает
тогда для начала можно переложить все в таблицу с индексом по дате/page_hash. дальше, если у вас нет какого-то разумного окна устаревания, то через год у вас будут сотни партиций и запросы без фильтра по дате, и все это на маленькой таблице. возможно, вам для страниц надо партиционирование по ничему.

Ololo
11.01.2018
14:21:30
Можно и на инглише.

(Костя, извините, создам ишью как только ПМ прекратит меня страпонить)

papa
11.01.2018
14:27:46
Про "партиционирование по ничему" не понял ((( Вы имеете ввиду - не указывать индекс? чтобы не было партиций
либо использовать в качестве даты константу, либо https://github.com/yandex/ClickHouse/blob/master/docs/ru/table_engines/custom_partitioning_key.md

Ivan
11.01.2018
16:24:23
Коллеги, я так понимаю решардинг не очень работает в КХ. А что можете посоветовать сделать, если, например, место на диске заканчивается и необходимо добавить еще серверов?

Евгений
11.01.2018
16:32:18
Коллеги, я так понимаю решардинг не очень работает в КХ. А что можете посоветовать сделать, если, например, место на диске заканчивается и необходимо добавить еще серверов?
Я в таком случае переносил старые партиции на новые сервера, удаляя их на забитых. Старые данные запрашиваются менее активно, чем новые. Единственное, в таком подходе идеально будет - удвоение конфигурации.

Eugene
11.01.2018
16:52:46
Сколько у вас видов хешей ? если не много можете сделать партицирование по ним. А так вам надо индекс у нас на 167кк записей с нормальными индексами выборка проходит за 0.03 сек
Спасибо. Ещё не совсем понимаю как индексы в кх работают после MySQL немного не в себе. Сделал индекс по дате и хешу выборка ускорилась

Rudenko
11.01.2018
16:53:39
Спасибо. Ещё не совсем понимаю как индексы в кх работают после MySQL немного не в себе. Сделал индекс по дате и хешу выборка ускорилась
Я тормознул не индексы а ключи партицирования. Ну если есть возможность добавлять дату то должно ускорить в раз 10

Eugene
11.01.2018
16:55:50
Я тормознул не индексы а ключи партицирования. Ну если есть возможность добавлять дату то должно ускорить в раз 10
ENGINE = MergeTree(date, page_url_hash, (date, page_url_hash), 8192) правильно ж я понимаю? Да дату есть возможность добавить. Я сначала туда ещё и id сувал...

Google
Rudenko
11.01.2018
17:00:38
Нам было достаточно просто дату добавить и все пошло шустро

papa
11.01.2018
17:02:24
у вас наверно есть фильтры по дате.

Nik
11.01.2018
20:32:34
Если есть неспящие. Только что установил click из rpm. на старте пишет <Error> Application: Net Exception: Cannot assign requested address: [::1]:8123

порты свободны. Что ему не нравится - не догоняю

prll
11.01.2018
20:33:59
Ipv6 работает ?

ping6 ::1

Nik
11.01.2018
20:34:21
нет

я и не понимаю

нафиг он в ipv6 лезет

prll
11.01.2018
20:34:45
2018 надворе

Nik
11.01.2018
20:34:50
в конфиге вижу только порт

2018 надворе
и кто живет на ipv6 без ipv4?)

не видел таких

prll
11.01.2018
20:35:27
Надо править конфиг и ставить 127.0.0.1

grep listen

Nik
11.01.2018
20:36:04
grep listen
спс. увидел

вроде полетело

prll
11.01.2018
20:36:51
А без ipv4 уже много кто живет

А кроме этой ошибки ничего вокруг полезного ?

Nik
11.01.2018
20:39:00
А без ipv4 уже много кто живет
Люди будущего. Нам пока до них далеко(

Google
Nik
11.01.2018
20:39:14
Ща гуглю как залить данных из csv

prll
11.01.2018
20:40:11
Там задумано что при отсутствии одного протокола запускаемся на втором но это не на всех ос срабатывает

Dorian
11.01.2018
20:58:04
Други, позволяет ли КХ выполнять операции с метриками в запросе? (metric1/metric2)*8

Nik
11.01.2018
21:52:04
я вижу гуглах, что вроде табикс умеет пивоты. но не вижу как его сделать в самом табиксе

это выпилили или просто не очень очевидно?

Ololo
12.01.2018
04:17:15
@tkostyan у меня был sqlalchemy 1.1.8. Возможно, дело в этом. Обновить пришлось как раз потому что в другом месте (в постгрешной модели) тоже столкнулся с ошибкой рендеринга, там с подзапросами была проблема. Сейчас обновился до 1.2, попробую снова.

Теперь работает, да. Хмм. И даунгрейднулся, всё равно работает.

Константин
12.01.2018
06:15:26
Доброе утро! ZooKeeper - продолжает радовать...

только недавно поборол проблему с автоматическое очисткой, так началось другое

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