@clickhouse_ru

Страница 559 из 723
Vitaly
15.06.2018
15:17:44
Экранирование же
поясн пожалуйста?

Victor
15.06.2018
15:19:20
'{"arr":[0, 1]}' попробуй, сорри, с мобилы, на последних процентах

Vitaly
15.06.2018
15:20:04
Google
Vitaly
15.06.2018
16:41:12
Aleksandr
15.06.2018
16:43:17
Здравствуйте. Подскажите пожалуйста. Планируется ли rename column? Или он уже есть но синтаксис какой то другой ?

Nikolai
15.06.2018
17:04:13
Планируется. Но после delete и update.

Михаил
15.06.2018
17:13:57
Подскажите, пожалуйста, на РИТ++ говорилось что обновление с delete будет выпущено через неделю после РИТ++. Уже прошло две, буду признателен если сориентируете по срокам.

Nikolai
15.06.2018
17:17:51
Точно сориентировать не могу, но уже скоро.

Vitaly
15.06.2018
18:52:00
привет! а можно как-то посчитать пересечение(intersection) у массивов по группировке? нашел только как посчитать вообще все уникальные элементы - groupUniqArray(experiments)

или отсортировать по популярности значения?

Kirill
15.06.2018
20:13:25
привет! а можно как-то посчитать пересечение(intersection) у массивов по группировке? нашел только как посчитать вообще все уникальные элементы - groupUniqArray(experiments)
пересечение массивов можно получить через функции высшего порядка. например так SELECT arrayFilter(x->has(['a', 'b', 'c'], x), ['b', 'c', 'd', 'e', 'f']);

Vitaly
15.06.2018
20:52:06
пересечение массивов можно получить через функции высшего порядка. например так SELECT arrayFilter(x->has(['a', 'b', 'c'], x), ['b', 'c', 'd', 'e', 'f']);
не понимаю как сделать это с group by например ``` select groupUniqArray(experiments) as intersectedArray from t group by type ``` так получаются все уникальные элементы массивов

Kirill
15.06.2018
21:05:21
не понимаю как сделать это с group by например ``` select groupUniqArray(experiments) as intersectedArray from t group by type ``` так получаются все уникальные элементы массивов
не очень понятно пересечение каких массивов вы хотите получить, тут вы при группировке получаете один массив

Vitaly
15.06.2018
21:06:22
не очень понятно пересечение каких массивов вы хотите получить, тут вы при группировке получаете один массив
у меня в каждой строчке есть массив, хочу сгруппировать их по какому-нибудь критерию и получить элементы массивов, которые есть во всех массивах например 1 ['1', '2', '3'] 2 ['1', '2'] 3 ['1'] => ['1']

papa
15.06.2018
21:31:53
надо писать агрегатную функцию. для объединения есть, для пересечения нет. можно конечно собрать выражение руками через объединение и нужное количество отрицаний, но выглядеть будет не очень.

Google
Kirill
16.06.2018
06:12:58
и почему вы взяли кафку, а не какой-нибудь постргрес?
Это совсем разные вещи, Кафка это про доставку событий, у нас там 40-50к за секунду "в летный период" может быть

Vitaly
16.06.2018
06:19:59
Это совсем разные вещи, Кафка это про доставку событий, у нас там 40-50к за секунду "в летный период" может быть
Постгрес позволяет 100-120к в секунду на hdd заливать... хотя говорят, что кто-то и 200к в сек гнал.

Я просто сейчас изучаю эти моменты в глубину... кафку многие ругают, есть те, кто сильно хвалит... но это все субъективные мнения. Хотелось бы узнать причину по которой люди выбирают ту или иную технологию... разницу между ними... чтобы понимать суть вещей :)

Павел Максимов
16.06.2018
07:41:41
Подскажите, как победить "504 Gateway Time-out" Параметр max_execution_time не помогает

Vitaly
16.06.2018
07:53:37
Подскажите, как победить "504 Gateway Time-out" Параметр max_execution_time не помогает
На любой запрос? Только на долгие? Есть в логах чего?

Павел Максимов
16.06.2018
07:53:52
Wolf
16.06.2018
07:55:24
Подскажите, как победить "504 Gateway Time-out" Параметр max_execution_time не помогает
так это нгинкс видимо или другой прокси перед кх

Павел Максимов
16.06.2018
07:56:01
так это нгинкс видимо или другой прокси перед кх
может быть, а его можно подкрутить?

Wolf
16.06.2018
07:56:19
Ну да прокси таймауты увеличить

Павел Максимов
16.06.2018
07:57:29
Tima
16.06.2018
11:27:19
Пилю подсказку команд для clickhouse-client, в коде есть комент "Turn tab completion off." И далее включается обработка нажатия таба как просто ввод символа. Вопрос к разрабам - это специально зачем-то сделано?

Павел Максимов
16.06.2018
11:32:53
Подскажите, как проверить наличие сразу нескольких элементов в массиве, наподобие функции has(), там только один элемент проверяется

Tima
16.06.2018
11:43:01
Посмотрите в сторону arrayCount

SELECT arrayCount(x -> has(arr, x), arr2) > 0

Павел Максимов
16.06.2018
12:01:43
SELECT arrayCount(x -> has(arr, x), arr2) > 0
спасибо, посмотрю

SELECT arrayCount(x -> has(arr, x), arr2) > 0
вполне рабочий вариант ?

Maksim
16.06.2018
19:38:18
всем доброго вечера, предположим есть поля А,Б,В; есть ли конструкция позволяющая почтитать сумму А, сгруппировав по Б, но нсли Б пустое то во В

Google
Maksim
16.06.2018
19:41:33
спасибо, почемуто не нашел с ходу

[Anonymous]
16.06.2018
19:50:25
Хай всем

Kirill
16.06.2018
23:22:39
Постгрес + пару демонов и вот уже это кафка
Вы действительно так считаете?

?
17.06.2018
04:08:09
Вы действительно так считаете?
Кирилл, а раз уж об этом зашла речь, что вы скажете о kafka vs nats (streaming?) в этом контексте? а то скоро предстоит выбор фронтира для получения сырых данных перед КХ, мучаюсь в сомнениях, как обычно – не хочется зоопарка (в смысле инфраструктуры, а не зоокипера :))

Vitaly
17.06.2018
06:04:08
а как с точки зрения оптимизации места лучше сделать? Nested и там объект из 10 полей? или развернуть эти все поля в колонки?

Tima
17.06.2018
06:25:37
Rawflux
17.06.2018
06:38:58
/stat@combot

Combot
17.06.2018
06:38:58
combot.org/c/-1001080295593

combot.org/c/-1001080295593

Kirill
17.06.2018
08:38:56
Кирилл, а раз уж об этом зашла речь, что вы скажете о kafka vs nats (streaming?) в этом контексте? а то скоро предстоит выбор фронтира для получения сырых данных перед КХ, мучаюсь в сомнениях, как обычно – не хочется зоопарка (в смысле инфраструктуры, а не зоокипера :))
Кафка - это реально про надежность. Штука работает как молоток и поломаться ей сложно. Nats я смотрел просто попробовать, но в "бою" у нас его нет, у одного из колег в "петпроджекте" работает, он доволен, но сравнивать не могу.

?
17.06.2018
08:39:12
спасибо

Kirill
17.06.2018
08:40:02
У кафки есть ряд неприятных особенностей, но жить с этим можно.

Alexander
17.06.2018
08:41:24
всем привет. а какой каноничный способ выгружать данные из оракла в кликхаус ? через jdbc ?

Павел Максимов
17.06.2018
09:11:36
Пытаюсь загрузить данные в КХ Такая ошибка выходит. Подскажите, как преобразовать данные в unix формат через питон например? Просто через replace('\r', '\n') не получается You have carriage return (\r, 0x0D, ASCII 13) at end of first row. It's like your input data has DOS/Windows style line separators, that are illegal in TabSeparated format. You must transform your file to Unix format. But if you really need carriage return at end of string value of last column, you need to escape it as \r

Vitaly
17.06.2018
10:05:30
Вы действительно так считаете?
Поясните свою точку зрения.

Daniel
17.06.2018
10:08:31
У кафки есть ряд неприятных особенностей, но жить с этим можно.
А можно подробнее? Тоже смотрим в сторону кафки как буфера перед записью в КХ

Wolf
17.06.2018
10:41:17
Поясните свою точку зрения.
Ну постгрес куда лучше относится к вставке чем кх

Vitaly
17.06.2018
10:52:01
Ну постгрес куда лучше относится к вставке чем кх
Да, т.к. цели у этих баз разные... но я говорил про сравнение постгреса с кафкой. Я не понимаю задачу в которой нужно заменить oltp базу на кафку... т.е. преимуществ не пойму...

Kirill
17.06.2018
11:05:21
А можно подробнее? Тоже смотрим в сторону кафки как буфера перед записью в КХ
Если попытаться просто объяснить как оно работает то оно работает так: создаем n-e количество партиций, по сути это какое-то количество потоков которые пишут/читают (но это не так), которое потом "+-" сложно менять. Читать, тоже можно только с 1-й партиции в 1 поток, в итоге можно сильно уперется если: кто-то медленно пишет или кто-то сильно медленно читает и пишет, например, в КХ

Google
Kirill
17.06.2018
11:06:00
Там под капотом все немного сложнее, но как-то так

Ну и в "контексте" PostgreSQL - это СУБД (прям субд-субд), а кафка просто распределенный лог который гарантирует то что событие будет доставлено (при этом не факт что один раз).

Еще из "нежданчиков" кафки - документация, для какой версии она актуальна - не понятно. Актуальна ли последняя версия - тоже непонятно. От версии к версии меняются названия параметров в конфигах (это вообще проблема многого из Apache&co), в итоге вроде все сделал и оно должно работать, но что-то не так и тут уже проще лезть в код.

Shine
17.06.2018
11:18:20
так же не стоит делать тяжелую обработку в консамерах, так как если у вас однопоточные программисты (питон/пыха/руби и т д ), то хартбит там будет в том же потоке. Рискуете получить проблемы с постоянными ребалансами, а за ними и дубли.

Kirill
17.06.2018
11:21:39
Тут еще нужно учитывать где вы храните офсеты: в zookeeper или в самой кафке (в консьюмерс груп) и если второе сейчас предпочтительно, то его мониторить сильно сложнее.

Отвечу тут(в личку задали), так как это может быть полезно. На сообщения в кафке есть некоторое смещение для каждого из клиентом (на каждую партицию), раньше кафка как-то сама это рулила и сбрасывала офсеты в ЗК, сейчас клиент отсылает офсет из сообщения и вот тут проблема - если он не отсылает ничего не меняется и поэтому затригерить на "было -15 минут и сейчас" сложно.

M
17.06.2018
14:20:36
Ребят а у click house есть транзакции как у sql баз данных

им можно заменить postgresql

undefined
17.06.2018
14:26:54
Ребят а у click house есть транзакции как у sql баз данных
https://clickhouse.yandex/docs/ru/introduction/features_considered_disadvantages/

Aliaksandr
18.06.2018
07:35:16
Что-то кафка слишком сложна. А что если вместо кафки использовать Buffer-таблицу на выделенной машине с кликхаусом, за которой будет спрятана Distributed-таблица с нодами на других машинах? Для масштабирования можно запустить несколько кликхаусов на разных машинах, каждый со своей Buffer-таблицей, и распределять инсерты между этими машинами с помощью chproxy.

Maksim
18.06.2018
07:36:55
мм... у вас же есть зукипер?

https://docs.confluent.io/current/installation/installing_cp.html#debian-and-ubuntu ставите только кафку (без confluent-platform) в конфиг вписываете вам зукипер и кафка готова

Aliaksandr
18.06.2018
07:43:59
мм... у вас же есть зукипер?
В кластере с сырыми данными нет зукипера

Сырые данные хранятся на persistent storage в google cloud'e. Они дают гарантию, что данные на persistent storage не испортятся (вернее, могут испортиться, если на датацентр, где они хранятся, скинут бомбу). Поэтому в кластере с сырыми данными у нас нет репликации на уровне кликхауса, и, соответственно, нет зукипера. За полтора года не было проблем, даже когда гугл принудительно заблокировал и остановил пару наших нод, никого заранее не предупредив. После возвращения этих нод пришлось удалить вручную куски за последние несколько минут, т.к. они оказались повреждены из-за блокировки записи в petsistent storage. После этого кластер продолжил работать без проблем. С этого момента уже прошло больше года, полет нормальный

Oleh
18.06.2018
08:38:40
Добрый день! Никто не сталкивался с такой проблемой в кликхаусе ZooKeeperImpl::Exception. ZooKeeperImpl::Exception: Received different session timeout from server: 40000 (Marshalling error). ? При создании Replicated таблицы

Alex
18.06.2018
09:13:57
А кликхаус ещё не умеет кластер без зукипера?

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