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

Mariya
11.01.2018
10:13:03

Vladimir
11.01.2018
10:13:53

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

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

Vladimir
11.01.2018
10:19:09
Только что-то такое придумалось, но там тоже нужны подзапросы и мб еще 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 │
└──────┴─────────────────────┴──────────┘
Это с какой же скоростью пишут зарпосы в Яндексе! Вот это да!
Идея хорошая, но действительно нужно будет разворачивать массивы + столбиков типо col2 на самом деле много + может быть много тысяч записей для одного значения col1

Stas
11.01.2018
10:22:54

Александр
11.01.2018
10:26:07

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. ?
с обычными столбцами такое работает нормально

Mariya
11.01.2018
10:44:25
А это нормально что для 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. ?
Да, попробуйте заменить sumIf(fees[1],fees[1]>0 and deleted = 0 ) as fees на sumIf(fees[1],fees[1]>0 and deleted = 0 ) as fees_new

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

Stas
11.01.2018
11:04:52

Vladimir
11.01.2018
11:08:08

Albert
11.01.2018
11:39:39

Stas
11.01.2018
11:39:45


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

Google

Eugene
11.01.2018
14:14:44

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

Dima
11.01.2018
14:17:14

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

papa
11.01.2018
14:21:22

Ololo
11.01.2018
14:21:30
Можно и на инглише.
(Костя, извините, создам ишью как только ПМ прекратит меня страпонить)

Eugene
11.01.2018
14:25:44

papa
11.01.2018
14:27:46

Eugene
11.01.2018
14:36:19

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

Andrey
11.01.2018
16:30:29

Евгений
11.01.2018
16:32:18

Rudenko
11.01.2018
16:49:36

Eugene
11.01.2018
16:52:46

Rudenko
11.01.2018
16:53:39

Eugene
11.01.2018
16:55:50

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
в конфиге вижу только порт
не видел таких

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

Nik
11.01.2018
20:36:04
вроде полетело

prll
11.01.2018
20:36:51
А без ipv4 уже много кто живет
А кроме этой ошибки ничего вокруг полезного ?

Nik
11.01.2018
20:39:00

Google

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

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

Nik
11.01.2018
20:41:33

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

papa
11.01.2018
21:41:37

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 - продолжает радовать...
только недавно поборол проблему с автоматическое очисткой, так началось другое