
Sergey
07.04.2017
08:30:22

Vladislav
07.04.2017
08:35:22
Если никто не против, хотел бы вернуться к вопросу дашбордов, в частности, помимо zeppelin и redash, пользуется кто metabase?
А второй момент, кто с редашем, как вы его в проде используете, если там куча багов на уровне постгресной базы?

Sergey
07.04.2017
08:37:43
Мы пользуемся Airbnb Superset

Vladislav
07.04.2017
08:47:46

Google

Vladimir
07.04.2017
09:04:49
Но лучше сразу взять цо7

Sergey
07.04.2017
09:10:50

Vladimir
07.04.2017
11:10:26
Посмотрел на объем работ и плюнул
В цо7 собирается отлично если брать системный злиб и гцц из devtoolset-6
Первое тоже важно, потому что иначе соберется zlib-ng, поставится в /usr/lib и это не очень хорошо


Maksim
07.04.2017
11:25:50
Скажите а можно ли настроить такую схему- есть основной сервер статистики на кх. есть доп. сервер на котором дублируется статистика из основного сервера. но запросы на вставки идут на основной. а дополнительный просто клонирует данные основного. Зачем? дополнительный дев сервер хотим подключить на дополнительный сервер статистики для отладки. Ну и что будет если миграции будем выполнять? надо бы чтобы они на двух серверах применялись..

Vladimir
07.04.2017
11:36:15

papa
07.04.2017
11:48:56

Maksim
07.04.2017
12:15:13
репликация?
возможно. нооо если поменяем структуру таблицы на доп. сервере. что будет в итоге?
репликация?
например удалим столбец протестируем что все работает и зальем код на прод. нам важно понимать что код с изменной структурой базы работает. а затем применять миграцию на проде и заливать код

Google

Vladimir
07.04.2017
12:21:00

Maksim
07.04.2017
12:22:41
Что вы используете в качестве клиента?
ну у нас php приложение. драйвер пхп выбирает с базы кх. есть еще доп. инструменты для миграций которые реализовали сми2. ну можно и без них просто слать по curl запрос

Vladimir
07.04.2017
12:23:29
Дублировать можно http через goreplay
Или UDP через netcat например
Но TCP увы
Но не проще ли
Это делать через репликацию?
Сделали копию, отключили копию, протестировали на копии миграции, удалили с копии данные, доключили копию в кластер для повторного наполнения

Maksim
07.04.2017
13:20:31
хотелось бы автоматизировать процесс

Mike
07.04.2017
13:30:39
Всем привет :) У нас есть поток событий, каждое — с идентификатором пользователя (`dt | eventId | userId`) Требуется: узнать сколько раз он взаимодействовал с системой за неделю (`weeknum | userId | sessionsCount`). На вид — задача изоморфна получению отдельных визитов из хитов.
Может ли кто-нибудь рассказать алгоритм, как в метрике (или не в метрике?) получаются визиты из хитов, или как в кх сделать такой запрос? Хочется понять сам принцип.

Leonid
07.04.2017
13:53:02
Привет! Мы тут хотим переехать на другой ZK кластер и хочется узнать, если возможность перевести CH в readonly режим? Мы, конечно, загасим все наши воркеры, которые пишут в CH, но хочется подстраховаться

Alexey
07.04.2017
14:00:08

Leonid
07.04.2017
14:00:49
О, точно, спасибо!

Alexey
07.04.2017
14:00:51

Nikita
07.04.2017
14:03:19

Mike
07.04.2017
14:07:47

Vladimir
07.04.2017
14:10:45
Как правильно мигрировать данные при изменении схемы (включая изменение индекса)? Хочу в приложении своем добавить потенциальную возможность такое делать.
Я правильно понимаю что нужно делать следующее:
1. Rename старой
2. Создавать новую таблицу с правильным и исправленной схемой
3. Делать SELECT INTO в новую таблицу из старой
4. Удалить старую
?

Maksim
07.04.2017
14:34:33

Alexey
07.04.2017
15:18:17
Мы используем тестовую среду с подмножеством данных. Тестовая среда полностью независима от продакшена. Но программы, которая записывают данные, записывают одновременно все данные на продакшен и часть данных на тестовую среду.

Google

Slach
07.04.2017
15:31:02

Stepan
07.04.2017
15:33:36

Nikita
07.04.2017
15:35:16
ага, нашел уже. у меня ровно 16 словарей получается. все odbc

Alexey
07.04.2017
15:38:26
Можно решить задачу, реализовав поддержку опционального параметра в конфиге - odbc_dictionary_source_session_pool_size. Это тривиальное изменение, примерно на 20 минут времени. Пришлёте PR или самим придётся сделать?

Maksim
07.04.2017
16:05:49


papa
07.04.2017
16:30:36
а как вы это сейчас делаете.

Maksim
07.04.2017
16:32:31
пока никак. но думаю сделать бэкап компрессором потом запаковать закинуть на S3, затем из S3 берем распаковываем декопрессию делаем и импортим в базу раз в сутки (на кроне) пока такая мысль

Alexey
07.04.2017
17:14:49

Nikita
07.04.2017
17:15:52

Maksim
07.04.2017
17:19:17

Alexey
07.04.2017
17:20:09
Я пока тоже не до конца понял. Ведь SessionPool создаётся для каждого словаря (ODBCDictionarySource). То есть, для каждого словаря максимум 32 соединения (по факту, для flat, hashed словарей нужно одно), а при чём тут количество словарей - не ясно. Надо смотреть глубже.

Maksim
07.04.2017
17:21:43

Alexey
07.04.2017
17:23:47
Пока нет. Есть отдалённо похожая задача - восстановление реплики целиком (на пустом сервере). Сейчас приходится выполнять ATTACH TABLE для каждой таблицы для восстановления или копировать .sql файлы. Вот после этой задачи подумаем, чтобы сделать возможность полного бэкапа.

Maksim
07.04.2017
17:24:41
понял. спасибо

Nikita
07.04.2017
17:32:01

Alexey
07.04.2017
17:58:54
Давайте. Да, вывод gdb очень поможет.

Дмитрий
07.04.2017
19:00:25
Уф Graphouse allows you to use ClickHouse as a Graphite storage
Извиняюсь за офтоп побежал разворачивать

Google

Vladimir
07.04.2017
22:57:52
https://github.com/lomik/graphite-clickhouse

Slach
08.04.2017
06:51:56
А есть ссылки ?
Тьфу есть ссылки на graphouse ?
Нашел спасибо

Vladimir
08.04.2017
07:16:53

Vladislav
08.04.2017
08:18:44
А из-за чего может появляться DB::Exception: std::bad_cast? Вставляю из одной распределенной таблицы в другую через INSERT INTO t2 SELECT ... FROM t1 с конвертацией в Nullable-колонки. Как можно посмотреть ошибку подробнее через клиент?

Evgeny
08.04.2017
13:58:41
https://github.com/yandex/graphouse

Veniamin
08.04.2017
14:02:03

Vladimir
08.04.2017
14:36:55
Но минус в том что тэги там слегка сбоку

Veniamin
08.04.2017
14:39:02
Спасибо, посмотрю тода.

Vladimir
08.04.2017
14:39:41
Вот как сам графхаус я не знаю, то что он на яве и я его из коробки взять не могу - меня останавливает от того чтоб посмотреть

Maksim
08.04.2017
15:18:53
как clickhouse настроить в распределенном режиме в рамках одного сервера?

prll
08.04.2017
15:52:06
разные порты + разные datadir

Slach
08.04.2017
17:16:39
Всем привет
подскажите пожалуйста
я правильно понимаю что для хранения UUID наиболее эффективным является тип FixedString(16) ?
вопрос
если я преобразовал UUID в FixedString(16) и там есть 0x0A или 0x0D
как мне их правильно заэкранировать в CSV ?
заменить однобайтовую последовательность на \r или \n?
а почему при парсинге CSV строки без кавычек то \n считается как два символа а не как один?

Google

Alexey
08.04.2017
19:43:10
Привет.
> Всем привет
подскажите пожалуйста
я правильно понимаю что для хранения UUID наиболее эффективным является тип FixedString(16) ?
Да.
> если я преобразовал UUID в FixedString(16) и там есть 0x0A или 0x0D
как мне их правильно заэкранировать в CSV ?
заменить однобайтовую последовательность на \r или \n?
В CSV правила экранирования совсем не такие, как в TSV.
В CSV надо помещать это значение в кавычки и внутри заменять каждую кавычку на две кавычки. При этом, 0A, 0D остаются как есть.
Для сравнения, если писать в TSV, то вам надо было бы писать значение не в кавычках, и внутри, экранировать символы - перевод строки, таб и бэкслеш с помощью последовательностей \n, \t, \\.

Maksim
08.04.2017
21:41:28

Дмитрий
08.04.2017
21:51:18
Вариант с кликхаусом в docker контейнерах вам не подходит?

prll
08.04.2017
22:09:32

Maksim
08.04.2017
22:17:54

Dmitry
08.04.2017
22:20:11
А зачем это делать в рамках одного сервера?

Maksim
08.04.2017
22:26:04

Dmitry
08.04.2017
22:29:37
Так не нужно делать
В кх мультимастер система, любой сервер может принимать запросы

Maksim
08.04.2017
22:31:52
*первоначально